题目描述:
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/pa… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:双指针
1、将这个整数变成一个 char[] ,给出一个标志 flag 默认值是 true
2、使用双指针分别指向char[] 的头和尾巴
3、然后头和尾巴同时向左向右遍历,如果遇到不相同的 flag 标志 变成 false 然后 break,并返回flag
public static boolean isPalindrome(int x) {
if (x<0){
return false;
}
String s = String.valueOf(x);
char[] chars = s.toCharArray();
boolean flag = true;
int start = 0;
int end = chars.length-1;
while(end>=start){
if (chars[end] != chars[start]){
flag = false;
break;
}
end--;
start++;
}
return flag;
}