C++ ---仅仅翻转字符

Posted L_add

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ ---仅仅翻转字符相关的知识,希望对你有一定的参考价值。

仅仅翻转字符

题目描述:
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。
在这里插入图片描述
题目来源:力扣

class Solution {
public:
    bool IsLetter(char ch)
    {
        if((ch >='a'&& ch <='z')
            ||(ch >='A'&&ch <='Z'))
            return true;
        else
            return false;
    }
    string reverseOnlyLetters(string s) {
        if(s =="")
            return s;
        size_t begin = 0,end = s.size()-1;
        while(begin < end)
        {
            while(begin < end &&!IsLetter(s[begin]))
                begin++;
            while(begin < end&& !IsLetter(s[end]))
                end--;
            swap(s[begin],s[end]);
            begin++;
            end--;
        }
        return s;
    }
};

以上是关于C++ ---仅仅翻转字符的主要内容,如果未能解决你的问题,请参考以下文章