回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
-
首先,负数不可能为回文数。所以,在函数起始位置,判断是否为负数。
过滤负数 -
第一种方法:我们将整数转换为字符串,然后判断字符串是否为回文字符串。判断回文字符串方法:采用首尾两个下标,向中间靠拢,比较两个下标处字符是否相等。
字符串方法 -
进阶问题,如何不通过转换为字符串来判断呢?在之前第7题中,我们刚刚做了整数反转的实现,那么我们也可以对整数进行反转,然后比较反转后数字与原始数字是否相等。
整数反转 -
在采用整数反转的过程中,我们仍然要注意整数溢出的问题。如果反转后整数溢出,那么就肯定不是回文数字。
溢出判断 -
最后,还可以采用反转一半的判断方法。在对整数进行反转过程中,判断只反转一半数据,然后比较反转后的数据是否相等。相比全部反转来说,该算法去除了对整数溢出的判断,更加优雅。
反转一半




