Loading... > https://leetcode.cn/problems/remove-trailing-zeros-from-a-string/description/?envType=daily-question&envId=2024-05-02 简单题,从后往前遍历删除后面的 0 即可。 ```c++ class Solution { public: std::string removeTrailingZeros(std::string num) { int end = 0; for (int i = num.size() - 1; i >= 0; i--) { if (num[i] != '0') { end = i; break; } } return num.substr(0, end + 1); } }; ``` - 时间复杂度:$O(n)$ ,其中 $n$ 为字符串长度。 - 空间复杂度:$O(1)$ ,除了输出不需要额外的空间。 或者一行的写法: ```c++ class Solution { public: std::string removeTrailingZeros(std::string num) { return num.substr(0, num.find_last_not_of('0') + 1); } }; ``` 最后修改:2024 年 06 月 29 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏