目录
思路
从字符串 num
的末尾开始向前遍历,找到第一个非零字符的位置。这个位置之后的所有零都是尾随零,将字符串截取到这个位置即可得到不含尾随零的字符串。
解题方法
通过一个循环从字符串的末尾开始检查字符,如果是零就向前移动指针,直到遇到非零字符。然后使用 substring
方法截取字符串的前半部分。
时间复杂度
O(n),其中 n
是输入字符串 num
的长度。因为最多需要遍历整个字符串一次。
空间复杂度
O(n),主要是用于存储返回的截取后的字符串,其长度最大为输入字符串的长度。
Code
public class Solution {
public String removeTrailingZeros(String num) {
int end = num.length() - 1;
while (end >= 0 && num.charAt(end) == '0') {
end--;
}
return num.substring(0, end + 1);
}
}