首页 > 代码库 > Leetcode Palindrome Number

Leetcode Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space.

对于这道题不能用额外的空间,即不能用一个数组来保存各个位数,因此对于这种问题可以采用判断两头数字的方法

 1 package Palindrome.Number; 2  3 public class PalindromeNumber { 4  5     /** 6      * @param args 7      */ 8     public static void main(String[] args) { 9         // TODO Auto-generated method stub10       int a=33333;11       int i=10000;12       int head=a/i;13     //  System.out.println(1230%10);14    // System.out.println(head);15       boolean f=isPalindrome(2112);16       System.out.println(f);17     }18     public static boolean isPalindrome(int x) {19         //首先获取该整数的位数20         int i=1;21         int j=1;22         if(x<0)23             return false;24         if(x<10)25             return true;26         while(x/i>=10){27             i*=10;28             j++;29         }30         //判断两头31         int k=10;32         int x1=x;33         int x2=x;34         boolean flag=true;35         for(int h=0;h<j;h++){36             int left=x1/i;37             int right=x2%k;38             if(right!=left)39             {40                 flag=false;41                 break;42                 }43             x1=x1-left*i;44             x2=x2/k;45             k=1*10;46             i=i/10;47         }48         return flag;49     }50 }

 

Leetcode Palindrome Number