[LeetCode]9. 回文数(java实现)
1. 题目
2. 读题(需要重点注意的东西)
回文的题目,通常可以用双指针法来解决。
3. 解法
解法:
class Solution {
// 找中点,然后使用双指针向两边移动
public boolean isPalindrome(int x) {
// 整型转换为字符串
String s = Integer.toString(x);
char ans[] = s.toCharArray();
int start = 0, end = 0;
// 偶数,注意下标
if(s.length()%2 == 0){
start = s.length() / 2 -1;
end = s.length() / 2 ;
}
// 奇数,注意下标
else{
start = s.length() / 2 - 1;
end = s.length() / 2 + 1;
}
// 双指针遍历
while(start >= 0 && end <= s.length()){
if(ans[start] != ans[end]){
return false;
}else{
start = start - 1 ;
end = end + 1 ;
}
}
return true;
}
}
部分代码解释可在Java数据结构—String(字符串及其常用操作)中得到介绍