Solved
Easy
Topics
Companies
Hint
Given an integer x
, return true
if x
is a
palindrome
, and false
otherwise.
Example 1:
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
Example 2:
Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Constraints:
-231 <= x <= 231 - 1
Follow up: Could you solve it without converting the integer to a string?
class Solution {
/** T : O(n) S : O(1) (do not convert it to sting )*/
public boolean _isPalindrome(int x) {
String str= x+"";
int i=0, j= str.length()-1;
while ( i< j){
if( str.charAt(i++) != str.charAt(j--))
return false;
}
return true;
}
/**. T : O( n * ln(n) ) S: O(num(dig in x)) */
public boolean __isPalindrome( int x){
if( x<0) return false;
List<Integer> digList= findDigits( x, new ArrayList<>()) ;
int i= 0, j= digList.size()-1;
while( i< j){
if( digList.get(i++) != digList.get( j--)) return false;
}
return true;
}
public List<Integer> findDigits(int x, List<Integer> digList){
while( x>0){
digList.add( x%10);
x/=10;
}
return digList;
}
/**. T : O( n * ln(n) ) S: O(num(dig in x)) */
public boolean isPalindrome( int x){
return reverseIntegerX(x)== x;
}
public int reverseIntegerX( int x){
int reverse=0;
while( x>0){
reverse= reverse*10 + x%10;
x/=10;
}
return reverse;
}
}
/**
9. Palindrome Number
Solved
Easy
Topics
Companies
Hint
Given an integer x, return true if x is a
palindrome
, and false otherwise.
Example 1:
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
Example 2:
Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Constraints:
-231 <= x <= 231 - 1
Follow up: Could you solve it without converting the integer to a string?
*/
Explanation:
converting to the string , and using the pointers to check weather the
finding the reverse number involved in exceeding the inter limit