给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转

class Solution {
public:
string reverseOnlyLetters(string S) {
if(S.size()<2)
{
return S;
}
int i=0;
int j=S.size()-1;
while(i<j)
{
if(!isalpha(S[i]))
{
i++;
}
if(!isalpha(S[j]))
{
j–;
}
if(i<j && isalpha(S[i]) && isalpha(S[j]))
{
swap(S[i],S[j]);
i++;
j–;
}
}
return S;
}
};

发布了81 篇原创文章 · 获赞 1 · 访问量 2772

猜你喜欢

转载自blog.csdn.net/weixin_44781382/article/details/104525572