这里写自定义目录标题
链接:
https://leetcode-cn.com/problems/reverse-only-letters/
描述:
示例和提示:
代码:
class Solution {
public:
bool IsLetter(char ch)
{
if((ch>='A' && ch<='Z') || (ch>='a' && ch<='z'))
return true;
return false;
}
string reverseOnlyLetters(string s) {
int begin = 0;
int 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;
}
};
需要注意的几个小点:
- 在交换完后,begin和end需要进行++,–
- swap这个函数C++有,也可以自己写