题目要求经过操作后的字符串的字典序要比之前小。
在做这道题的之后陷入了一个误区,就是看a的位置,a-1之后=z,z的字典序比a大,所以要尽可能的避免a变成z,但是字典序的比较是从前往后比较的,纠结于a变成z,会陷入一个误区。想明白这一点之后,这道题就没什么难度了。
class Solution {
public:string smallestString(string s) {for (int i = 0; i < s.size(); i++){if (s[i] > 'a'){for (; i < s.size() && s[i] > 'a'; i++){s[i]--;}return s;}}s.back() = 'z';return s;}
};