【LeetCode从零单排】No.9 Palindrome Number

题目

这道题是迄今为止最快通过的一道题,改了两次就过了,runtime一般(中等偏下,这点不太满意)。Palindrome就是判断一个整数是否对称。

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

click to show spoilers.

Some hints:

Could negative integers be palindromes? (ie, -1)

If you are thinking of converting the integer to string, note the restriction of using extra space.

You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?

There is a more generic way of solving this problem.

代码

public class Solution {
    public boolean isPalindrome(int x) {
            if(x<0){
    	    	return false;
    	    }
    	    else{
    	    	  if(x==0){
    	    		  return true;
    	    	  }
    	    	  else{
    	    		  int temp=0;
    	    		  int temp_x=0;
    	    		  temp=x;
    	    		  while(temp/10!=0 || (temp<=9 && temp>0)){
    	    			  temp_x=temp_x*10;
    	    			  temp_x+=temp%10;
    	    			  temp=temp/10;
    	    		  }
    	    		//  System.out.print(""+temp_x);
    	    		  if(x==temp_x){
    	    			  return true;
    	    		  }
    	    		  else{
    	    			  return false;
    	    		  }

    	    	  }
    	    }
 }

}

代码下载:https://github.com/jimenbian/GarvinLeetCode

/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/

时间: 2024-08-28 22:29:28

【LeetCode从零单排】No.9 Palindrome Number的相关文章

【LeetCode从零单排】No 191.Number of 1 Bits(考察位运算)

题目 Write a function that takes an unsigned integer and returns the number of '1' bits it has (also known as the Hamming weight). For example, the 32-bit integer '11' has binary representation 00000000000000000000000000001011, so the function should r

【LeetCode从零单排】No118 Pascal&#39;s Triangle

题目 Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 代码 public class Solution { public List<List<Integer>> generate(int numRows) { List<List

【LeetCode从零单排】No70.ClimbingStairs

题目 爬楼梯问题,这是一道很有趣的问题.首先看题目: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 这道题一共有三个方法实现(我想到的): 1.递归(对应代码climbStairs) 如果楼梯有n层,我们回退到n-

【LeetCode从零单排】No88.Merge Sorted Array

题目 Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are

【LeetCode从零单排】No104 Maximum Depth of Binary Tree

题目 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. 代码 /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode lef

【LeetCode从零单排】No26.Remove Duplicates from Sorted Array

题目 题目要求:去除sort int数组中的重复项. Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory. For exam

【LeetCode从零单排】No.7 Reverse Integer

前话 今天开始励志刷一下leetcode上面的题目(还好这个网站没被TG和谐).从easy的开始,数一下差不多有40道,争取两个月搞定. 题目 没想到做的第一道题目,虽然看似简单,却费了很大周折. 题目如下: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 刚看到这道题,首先蹦出的想法是把整数转换为字符串,然后前后位置换下再转回int型,实事证明这样是不可取的,因

【LeetCode从零单排】No 3 Longest Substring Without Repeating Characters

题目 Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest su

【LeetCode从零单排】No67.AddBinary

题目 Given two binary strings, return their sum (also a binary string). For example,a = "11"b = "1"Return "100". 代码 public class Solution { public String addBinary(String a, String b) { String lon= a.length()-b.length()>=0 ?