class Solution {
public:
bool isString(char s)
{
if((s<='z'&&s>='a')||(s<='Z'&&s>='A'))
return true;
else return false;
}
string reverseOnlyLetters(string &S) {
int l = S.length();
int i=0,j=l-1;
while(i<j)
{
while(i<j&&(!isString(S[i])))
{
i++;
}
while(i<j&&(!isString(S[j])))
{
j--;
}
char tmp = S[i];
S[i] = S[j];
S[j] = tmp;
i++;
j--;
}
return S;
}
};
本文介绍了一种专门用于反转字符串中字母字符的算法实现。通过定义一个判断字符是否为字母的辅助函数,该算法能够有效地遍历并仅反转字符串中的字母部分,保持其他字符位置不变。
939

被折叠的 条评论
为什么被折叠?



