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

Leetcode Palindrome Number

时间:2014-12-22 22:42:10      阅读:167      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!