char * reverseOnlyLetters(char * s){
//双指针,用库函数isalpha
int left=0;
int right=strlen(s);
if(right==0)
return NULL;
while(left<right)
{
//如果在两边搜索,都是字母就交换
if(isalpha(s[left])&&isalpha(s[right]))
{
int temp=s[right];
s[right]=s[left];
s[left]=temp;
left++;
right--;
}
if(!isalpha(s[left]))
{
left++;
}
if(!isalpha(s[right]))
{
right--;
}
}
return s;
}
bool character(char s)
{
if((s>='a'&&s<='z')||s>='A'&&s<='Z')
return true;
else
return false;
}
char * reverseOnlyLetters(char * s){
//双指针,用库函数isalpha
int left=0;
int right=strlen(s);
if(right==0)
return NULL;
while(left<right)
{
//如果在两边搜索,都是字母就交换
if(character(s[left])&&character(s[right]))
{
int temp=s[right];
s[right]=s[left];
s[left]=temp;
left++;
right--;
}
if(!character(s[left]))
{
left++;
}
if(!character(s[right]))
{
right--;
}
}
return s;
}