9. 回文数

97 阅读1分钟

题目描述:

给你一个整数 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;
}