美文网首页
lint0491 Palindrome Number

lint0491 Palindrome Number

作者: 日光降临 | 来源:发表于2019-02-05 18:11 被阅读0次

判断一个正数是不是回文数。

方法一:32bit正整数最大是个10位十进制数,所以new一个10个元素
的整形数组,从低位到高位依次存入数组,并记录位数,然后比较。
100% test cases passedTotal runtime 3239 ms

public class Solution {
    /**
     * @param num: a positive number
     * @return: true if it's a palindrome or false
     */
    public boolean isPalindrome(int num) {
        boolean result=true;
        int digit=0;
        int[] array = new int[10];
        while(num!=0){
            array[digit]=num%10;
            digit+=1;
            num/=10;
        }
        for(int i=0,j=digit-1;i<j;++i,--j){
            if(array[i]!=array[j]){
                result=false;
                break;
            }
        }
        return result;
    }
}

方法二:备份num的初始值,然后把num反转存为rst,
比较numBak和rst
100% test cases passedTotal runtime 2867 ms

public class Solution {
    /**
     * @param num: a positive number
     * @return: true if it's a palindrome or false
     */
    public boolean isPalindrome(int num) {
        boolean isPalindrome=false;
        if(num<0){
            return false;
        }
        int numBak=num;//保存num的初始值
        int rst=0;
        while(num!=0){
            rst = rst*10 + num%10;
            num/=10;
        }//while循环结束后,num==0
        if(numBak==rst)
            isPalindrome=true;
        return isPalindrome;
    }
}

相关文章

网友评论

      本文标题:lint0491 Palindrome Number

      本文链接:https://www.haomeiwen.com/subject/aievsqtx.html