• 94694

    文章

  • 787

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

leetcode: palindrome-number

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

题目描述:

在不使用额外的内存空间的条件下判断一个整数是否是回文

提示:
负整数可以是回文吗?(比如-1)
如果你在考虑将数字转化为字符串的话,请注意一下不能使用额外空间的限制
你可以将整数翻转。但是,如果你做过题目“Reverse Integer”,你会知道将整数翻转可能会出现溢出的情况,你怎么处理这个问题?
这道题有更具普遍性的解法。

解题思路:

  1. 首先我们得考虑回文串的特点
  2. 考虑一下题目的条件,不允许使用额外的空间
  3. 从参数 x 出发,依次从末尾取出一个数,累计计算出新的数
  4. 若新的数与参数 x 相同,则返回 true,否则返回 false

代码如下:

      public boolean isPalindrome(int x) {
        if(x < 0) return false;

        int reverse = 0;
        int t = x;
		
	// 从末尾出发,累计计算出新数
        while(t > 0){
            reverse = reverse * 10 + t % 10;
            t = t / 10;
        }
		
	// 判断该数是否是回文串
        return reverse == x;
    }
}

695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

欢迎来到梁钟霖个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!

转载原创文章请注明出处,转载至: 梁钟霖个人博客www.liangzl.com

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客