Advertisement
K_S_

Untitled

Nov 10th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.91 KB | None | 0 0
  1. class Solution {
  2.     public boolean isPalindrome(int x) {
  3.         if(x < 0 || (x % 10 == 0 && x != 0)) {
  4.             return false;
  5.         }
  6.         String s = Integer.toString(x);
  7.  
  8.         if(s.length() == 1) {
  9.             return true;
  10.         }
  11.  
  12.         int i = 0;
  13.         int j = s.length() - 1;
  14.  
  15.         int[] digits = getDigits(x);
  16.         while (i < j) {
  17.             if(digits[i] != digits[j]) {
  18.                 return false;
  19.             }
  20.             i++;
  21.             j--;
  22.         }
  23.  
  24.         return true;
  25.     }
  26.  
  27.     private int[] getDigits(int x) {
  28.         int tmp = x;
  29.         int count = 0;
  30.         while (tmp != 0) {
  31.             tmp /= 10;
  32.             count++;
  33.         }
  34.  
  35.         int[] num = new int[count];
  36.         int i = count - 1;
  37.         while (x != 0) {
  38.             int k = x % 10;
  39.             num[i--] = k;
  40.             x /= 10;
  41.         }
  42.  
  43.         return num;
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement