首页 > 其他 > 详细

Leetcode Palindrome Number

时间:2014-12-22 22:39:12      阅读:437      评论:0      收藏:0      [点我收藏+]

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 stub
10       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

原文:http://www.cnblogs.com/criseRabbit/p/4179023.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!