从右到左,找到第一个不为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-=1return 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);}
}