“回文串”是指正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
对于回文字符串的判定,我们可以从定义下手。假设字符串的长度为len,字符数组的元素也是从下标0开始的,所以0与len-1对应,1与len-2对应,2与len-3对应······ i与len-1-i对应。判断每次对应的字符是否相等,有任意一组不相等,则不是回文串。
因为回文串正读反读都一样,所以只需要判断到len/2就可以了。
最后我们来编写写一个函数用来判断回文串,当需要使用时,我们调用函数就可以了。
bool judge(char str[]) {
int len = strlen(str);
for(int i = 0; i < len/2; i++) {
if(str[i] != str[len-1-i]) {
return false;
}
}
return true;
}
联系客服