美文网首页
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