首先题目想必大家都已经看懂了,就是进行回文判断。
笔者第一个联想到的就是利用数组一前一后判断,先将题中接收参数存入一个数组,再利用数组第一位与数组最后一位进行判断,判断方向向内缩减。若判断不相等,则return false,相等则继续向内判断,直到判断完所有数都没有不等,则return true。
现在我相信你们都懂上面这些,但有两个疑问
怎么把一个整形int转化为字符串
怎么进行向内判断
上代码,看懂否。
bool isPalindrome(int x){
char a[100];
sprintf(a,"%d",x);//这里后面有讲哈。把整数x,转化为字符串存入a中
int len_L=0,len_R=0;//从数组头尾两边向内判断嘛,定义两个左右索引
len_R = strlen(a)-1;//数组从0开始,减一位
for(len_R,len_L;len_R > len_L;len_R--,len_L++)
//你从头尾分别向内判断,头部索引++,尾部索引--,若是头的索引都大于尾部的索引,说明判断完成
{
if(a[len_R] != a[len_L])
{
return false;
}
}
return true;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)