Leetcode刷题记(3)——回文数
瞎扯~
回文数应该是学习编程路上永远迈不过的一道坎了,不过这个坎应该很小很小了,基本上都能码出来,不过也有笨的和简单的方法,第一次码这道题的时候就很笨,用了两次循环把每一位上的数字取出来再和原来的每位数字对比,就需要两次遍历,还需要一个数组存储。这道题和第2道整数反转有异曲同工之妙,只需要比较反转后的数字和原数字是否相等。
注意以下几点:
(1)对于负数肯定不是回文数,这一点可以先判断输出;
(2)对于数字还需要注意溢出问题,可以借用上一题中的溢出处理方式,不过更简单的是定义变量时直接使用long型,不过注意这是在32位范围内,如果有更大的范围,还是参考上一题中的溢出处理方式更准确一些;官方题解上考虑溢出问题时是只反转数字的一半然后和另一半进行比较。
(3)改进:判断字符串是否是回文数,这个思路也比较简单,先获取字符串的长度,如果是偶数直接判断不是回文数,否则依次比较首尾元素是否相同即可。