class Solution {
public:
string removeTrailingZeros(string num) {
}
};
2710. 移除字符串中的尾随零
给你一个用字符串表示的正整数 num
,请你以字符串形式返回不含尾随零的整数 num
。
示例 1:
输入:num = "51230100" 输出:"512301" 解释:整数 "51230100" 有 2 个尾随零,移除并返回整数 "512301" 。
示例 2:
输入:num = "123" 输出:"123" 解释:整数 "123" 不含尾随零,返回整数 "123" 。
提示:
1 <= num.length <= 1000
num
仅由数字 0
到 9
组成num
不含前导零原站题解
rust 解法, 执行用时: 0 ms, 内存消耗: 2.2 MB, 提交时间: 2024-06-29 13:42:51
impl Solution { pub fn remove_trailing_zeros(num: String) -> String { num.trim_end_matches('0').to_string() } }
javascript 解法, 执行用时: 76 ms, 内存消耗: 51.6 MB, 提交时间: 2024-06-29 13:41:56
/** * @param {string} num * @return {string} */ var removeTrailingZeros = function(num) { return num.replace(/0*$/, ''); };
java 解法, 执行用时: 1 ms, 内存消耗: 42.4 MB, 提交时间: 2023-05-31 15:18:31
class Solution { public String removeTrailingZeros(String num) { // 倒序遍历 int index = num.length() - 1; for (; index >= 0; index--) { if (num.charAt(index) != '0') { // 找到尾部第一个不为0的索引 break; } } // 截取字符串 return num.substring(0, index + 1); } }
cpp 解法, 执行用时: 4 ms, 内存消耗: 8.5 MB, 提交时间: 2023-05-31 15:17:59
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; } };
java 解法, 执行用时: 8 ms, 内存消耗: 42.8 MB, 提交时间: 2023-05-31 15:17:43
class Solution { public String removeTrailingZeros(String num) { return num.replaceAll("0+$", ""); // 注:可能是 O(n^2),推荐手写 } }
golang 解法, 执行用时: 8 ms, 内存消耗: 4 MB, 提交时间: 2023-05-31 15:17:25
func removeTrailingZeros(num string) string { return strings.TrimRight(num, "0") }
python3 解法, 执行用时: 48 ms, 内存消耗: 16.2 MB, 提交时间: 2023-05-31 15:16:48
class Solution: def removeTrailingZeros(self, num: str) -> str: return num.rstrip('0')