码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode:Palindrome Number

时间:2017-06-11 14:20:00      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:blog   package   amp   leetcode   32位   creat   pre   个数   记录   

题目大意是提供一个32位整数,判断这个数的十进制字符串形式是否是回文。所谓的回文就是字符串的逆序形式与正序形式完全一致。比如123不等于321不符合条件,121等于121符合条件,当然-1不等于1-也是不符合条件的。题目还限制了允许使用的存储空间。


 可以简单地利用另外一个32位整数m记录输入整数n的逆序形式,之后比较m是否等于n即可。时间复杂度和空间复杂度均可以认为是常数,故依旧是O(1)。

isPalindrome(n)

  if(n < 0)

    return false

  m = 0, tmp = n

  while(tmp >= 10)

    m =  m * 10 + tmp % 10

    tmp = tmp / 10

  return m == n / 10 && tmp == n % 10


 下面提供实现代码:

package cn.dalt.leetcode;

/**
 * Created by dalt on 2017/6/11.
 */
public class PalindromeNumber {
    public boolean isPalindrome(int x) {
        if (x < 0) {
            return false;
        }
        int tmp = x;
        int r = 0;
        while (tmp >= 10) {
            r = r * 10 + tmp % 10;
            tmp /= 10;
        }
        return r == x / 10 && tmp == x % 10;
    }
}

 

Leetcode:Palindrome Number

标签:blog   package   amp   leetcode   32位   creat   pre   个数   记录   

原文地址:http://www.cnblogs.com/dalt/p/6985044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!