本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
问题描述
判断回文整数:
给你一个整数x,如果x是一个回文整数,返回true ;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
来源:力扣(LeetCode)
解决方案
首先,根据题目可得:回文整数即正着读和反着读结果都是一样的整数。那么根据回文整数的概念可知,负数肯定不是回文整数,如:-123,正着读为-123,而反着读为321-;所以代码首先应该判断输入的整数是正数还是负数,如果是负数,则直接返回False,反之则进行下一步操作。也许有的朋友会有疑问,如果整数是除零这个数字以外的末尾为零的数的话,那也不是回文整数,因为除了零以外,不可能有以零开头的整数。没错,的确除零本身以外,其他的以零结尾的整数都不是回文整数,但在以下算法中完全可以忽略这个判断。
当输入的整数为正数时,首先从形式上看