/*
 * @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类似,如果说能简单的话就是可以变成字符串操作,但是本质还是一样的。这就不详细写了。