「リートコード - 9. Palindrome Number」

ジャバソリューション

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
public boolean isPalindrome(int x) {
if (x < 0) {
return false;
}
List<Integer> bits = new ArrayList<Integer>();
int cnt = 0;
for (; x != 0; ++cnt) {
bits.add(x % 10);
x /= 10;
}
for (int i = 0; i < cnt / 2; ++i) {
if (bits.get(i) != bits.get(cnt - i - 1)) {
return false;
}
}
return true;
}
}

水模拟,over。看了下题解是优化了两倍常数的时间,及其只用到常数空间。