最近了解了回文数的概念和一些求解办法,在这分享出来。
首先回文数是什么?其实就是把一个数倒序排列,例如1321,倒序排列就是1231,如果一个数倒序排列后跟原来的数相同,那么这个数就是回文数。例如121,倒序排列后还是121,那这个数就是回文数。
接着就是如何判断一个数是否是回文数的方法
方法1: 利用数学求出来倒序排列的数再与原数进行判断。
这里就是按部就班的求出num倒序排列的数值再与原数进行比较,为了方便观看,打印出来y的值,可以发现,y的数值就是num倒序排列后的数值。
现在来分析每一步
第二种办法就是创建数组,将需要判断的数一个一个存入数组中,然后依次判断是否相同
如下图代码
先将每一位数存在数组中,如果是回文数,那么数组第一个元素和最后一个相等,以此类推,我们定义flag,如果有一对不相等就让flag赋值为0.这样就能判断一个数是否是回文数了。
方法三:
直接判断第一位数和最后一位数是否相等,然后类推,与数组的思路几乎一样。
接着我们可以想到如何判断一个字符数组是否回文,我们可以采用双指针,一个指针在数组第一个元素,另外一个从数组最后开始,同时定义一个变量flag,如果有一对不相等就赋值为0,两个指针同时从两端聚集在中间,与数组思路也几乎相同,就不多赘述