从右到左,找到第一个不为0的,然后返回字符串前面的.
class Solution {
public:
string removeTrailingZeros(string num) {
int i = num.length();
while(true){
if (num[i-1]=='0'){
i--;
}
else break;
}
return num.substr(0, i);
}
};
调用函数,string.find_last_not_of()
是C ++字符串类的成员函数之一,用于在字符串中查找最后一个不在指定字符集合中的字符。它返回字符串中最后一个不是指定字符集合(或子字符串)中的字符的位置。或者是从后往前,直到找到第一个不在字符集合中的字符
class Solution {
public:
string removeTrailingZeros(string num) {
return num.substr(0, num.find_last_not_of('0')+1);
}
};
Python
class Solution:
def removeTrailingZeros(self, num: str) -> str:
n = len(num)
while n > 0 and num[n-1] =='0':
n-=1
return num[0:n]
java
class Solution {
public String removeTrailingZeros(String num) {
int len = num.length();
while (len > 0 && num.charAt(len-1) == '0'){
len--;
}
return num.substring(0, len);
}
}