LeetCode算法题之9:Palindrome Number
LeetCode之9:Palindrome Number
问题描述:
判断一个数字式否是回文数字,即判断它是否是对称的。原题地址
问题的陷阱与难点:
无
缺陷代码(79.35%)
public boolean isPalindrome(int x) {
if (x < 0) {
return false;
}
List<Integer> list = new ArrayList<Integer>();
while (x != 0) {
list.add(x % 10);
x /= 10;
}
int left = 0, right = list.size() - 1;
while (left <= right) {
if (list.get(left) == list.get(right)) {
left++;
right--;
} else {
return false;
}
}
return true;
}
只简单说下思路,将数字的每一位保存到数组中,然后从两边开始比较,并向中间逼近。其中只要出现两边不相等的数字,就直接返回false。