题目描述:
此题较为简单,只需在标准反转字母的题目基础上加入非字母的判断即可。当判断当前字符为非字母时跳过该字符。
完整代码如下:
string reverseOnlyLetters(string s) {
int i=0,j=s.size();
while(i<j){
if(!(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')){
i++;
continue;
}
if(!(s[j]>='a'&&s[j]<='z'||s[j]>='A'&&s[j]<='Z')){
j--;
continue;
}
char temp=s[i];
s[i]=s[j];
s[j]=temp;
i++;
j--;
}
return s;
}