返回介绍

solution / 1500-1599 / 1556.Thousand Separator / README_EN

发布于 2024-06-17 01:03:18 字数 2531 浏览 0 评论 0 收藏 0

1556. Thousand Separator

中文文档

Description

Given an integer n, add a dot (".") as the thousands separator and return it in string format.

 

Example 1:

Input: n = 987
Output: "987"

Example 2:

Input: n = 1234
Output: "1.234"

 

Constraints:

  • 0 <= n <= 231 - 1

Solutions

Solution 1

class Solution:
  def thousandSeparator(self, n: int) -> str:
    cnt = 0
    ans = []
    while 1:
      n, v = divmod(n, 10)
      ans.append(str(v))
      cnt += 1
      if n == 0:
        break
      if cnt == 3:
        ans.append('.')
        cnt = 0
    return ''.join(ans[::-1])
class Solution {
  public String thousandSeparator(int n) {
    int cnt = 0;
    StringBuilder ans = new StringBuilder();
    while (true) {
      int v = n % 10;
      n /= 10;
      ans.append(v);
      ++cnt;
      if (n == 0) {
        break;
      }
      if (cnt == 3) {
        ans.append('.');
        cnt = 0;
      }
    }
    return ans.reverse().toString();
  }
}
class Solution {
public:
  string thousandSeparator(int n) {
    int cnt = 0;
    string ans;
    while (1) {
      int v = n % 10;
      n /= 10;
      ans += to_string(v);
      if (n == 0) break;
      if (++cnt == 3) {
        ans += '.';
        cnt = 0;
      }
    }
    reverse(ans.begin(), ans.end());
    return ans;
  }
};
func thousandSeparator(n int) string {
  cnt := 0
  ans := []byte{}
  for {
    v := n % 10
    n /= 10
    ans = append(ans, byte('0'+v))
    if n == 0 {
      break
    }
    cnt++
    if cnt == 3 {
      ans = append(ans, '.')
      cnt = 0
    }
  }
  for i, j := 0, len(ans)-1; i < j; i, j = i+1, j-1 {
    ans[i], ans[j] = ans[j], ans[i]
  }
  return string(ans)
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文