/* * @lc app=leetcode.cn id=9 lang=c * * [9] 回文数 * * https://leetcode-cn.com/problems/palindrome-number/description/ * * algorithms * Easy (56.02%) * Total Accepted: 75.3K * Total Submissions: 134.4K * Testcase Example: '121' * * 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 * * 示例 1: * * 输入: 121 * 输出: true * * * 示例 2: * * 输入: -121 * 输出: false * 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 * * * 示例 3: * * 输入: 10 * 输出: false * 解释: 从右向左读, 为 01 。因此它不是一个回文数。 * * * 进阶: * * 你能不将整数转为字符串来解决这个问题吗? * */ bool isPalindrome(int x) { long i = 0; long t = x; while(t){ i = i*10+(t%10); t = t/10; } if(i==x&&i>=0){ return true; } else { return false; } }
这里提交了几次有遗漏,其实就应用了 7.整数反转的算法,判断反转后的和反转前是否相等就可以。
这里要注意,负数肯定不是回文数,0是回文数,要注意这个条件。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
python:
其实与c类似,如果说能简单的话就是可以变成字符串操作,但是本质还是一样的。这就不详细写了。