9. 回文数

思路1:翻转数字,若溢出则不是回文;若没有溢出,则比较翻转前后的数字;
思路2:用前一半和后一半数字比较;区分奇数长度和偶数长度;

class Solution {
public:
    bool isPalindrome(int x) {

        if(x<0 || (x%10==0 && x!=0))
            return false;

        int half=0;
        while(x>half)
        {
            int pop=x%10;
            x /=10;

            half=half*10+pop;
        }

        return x==half || half/10==x;

    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 方法:反转一半数字 思路 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常...
    zzpwestlife阅读 2,720评论 0 2
  • 题目: 题目地址:https://leetcode-cn.com/problems/palindrome-numb...
    MrGeekr极氪阅读 1,846评论 0 0
  • 题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输...
    zhipingChen阅读 3,226评论 1 2
  • 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输...
    genggejianyi阅读 2,472评论 0 1
  • 已经快要忘了那个夏天,快要忘了透过树叶的间隙斑驳在你脸上的月光。我们就那样坐着,欲言又止。 这些年...
    不安分的蜗牛阅读 1,436评论 0 0