LeetCode第 917 题:仅仅反转字母(C++)

917. 仅仅反转字母 - 力扣(LeetCode)

简单题,双指针遍历就可以啦

class Solution {
public:
    string reverseOnlyLetters(string S) {
        int l = 0, r = S.size()-1;
        while(l < r){
            while(l < S.size() && !isalpha(S[l]))  ++l;
            while(r >= 0 && !isalpha(S[r]))   --r;
            if(l < r)   swap(S[l++], S[r--]);
            else break;
        }
        return S;
    }
};

还可以借助栈先进后出的特点,可以参考:仅仅反转字母 - 仅仅反转字母 - 力扣(LeetCode)

猜你喜欢

转载自blog.csdn.net/qq_32523711/article/details/107848638