C语言isalpha()函数
isalpha()函数: 判断字符是否为英文字母, 若是英文字母返回非0
注意:
小写字母返回2 大写字母返回1
不是字母返回 0
示例:
力扣题目 917.仅仅反转字母
给你一个字符串 s ,根据下述规则反转字符串:
所有非英文字母保留在原有位置。
所有英文字母(小写或大写)位置反转。
返回反转后的 s 。
输入:s = "ab-cd"
输出:"dc-ba"
代码:
void swap(char *s,int i, int j){
char tmp;
tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
char * reverseOnlyLetters(char * s){
int length = strlen(s);
int i = 0, j = length - 1;
while(i < j){
if(!isalpha(s[i])){
i++;
}else if(!isalpha(s[j])){
j--;
}else{
swap(s, i, j);
i++;
j--;
}
}
return s;
}