当前位置 博文首页 > L_add的博客: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;
}
};
cs