2710-移除字符串中的尾随零

Raphael Liu Lv10

给你一个用字符串表示的正整数 num ,请你以字符串形式返回不含尾随零的整数 __num __ 。

示例 1:

**输入:** num = "51230100"
**输出:** "512301"
**解释:** 整数 "51230100" 有 2 个尾随零,移除并返回整数 "512301" 。

示例 2:

**输入:** num = "123"
**输出:** "123"
**解释:** 整数 "123" 不含尾随零,返回整数 "123" 。

提示:

  • 1 <= num.length <= 1000
  • num 仅由数字 09 组成
  • num 不含前导零

视频讲解

【周赛 347】 第一题,欢迎点赞投币!

思路

由于输入保证是正整数,所以去掉所有的尾零 0 即可。

[sol-Python3]
1
2
3
class Solution:
def removeTrailingZeros(self, num: str) -> str:
return num.rstrip('0')
[sol-Java]
1
2
3
4
5
class Solution {
public String removeTrailingZeros(String num) {
return num.replaceAll("0+", ""); // 注:可能是 O(n^2),推荐手写
}
}
[sol-C++]
1
2
3
4
5
6
7
class Solution {
public:
string removeTrailingZeros(string s) {
s.erase(find_if(s.rbegin(), s.rend(), [](auto c) { return c != '0'; }).base(), s.end());
return s;
}
};
[sol-Go]
1
2
3
func removeTrailingZeros(num string) string {
return strings.TrimRight(num, "0")
}

复杂度分析

  • 时间复杂度:\mathcal{O}(n),其中 n 为 nums 的长度。
  • 空间复杂度:\mathcal{O}(1)。仅用到若干额外变量。
 Comments
On this page
2710-移除字符串中的尾随零