回文字符串的判定,但非数组形式,而是指针形式。总的思路是,从第一个和最后一个比较,如果相等则前指针向后移动一位,后指针则向前移动一位,逐次比较。一旦有不同的则立刻跳出循环,不用再比较下去。
开始的时候我是只比较了首尾两个字母是否一样,这是取巧的,不正确的,不可学,但出题人选取的样例居然只有一个没过,这让我笑出声来。
看结果
但这个投机取巧的方法过不了中心的,于是我用了以下的方法—首先用strlen函数获取字符串长度n,然后再判断n是奇数还是偶数,来决定循环的次数。接着,我设置两个指针,一个指向*s首个字母,一个指向*s最后一个字母,并遍历指针。
全部通过了样例
初学者注意点:1,s--和s++是一样被允许的
2,最好是break;前设置flag=0;比起直接return 0;要更科学