JAVA-LeetCode简单09

回文数判断

1.题目

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true
示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

来源:力扣(LeetCode)

链接:回文数判断

2.分析

通过将输入的每个十进制位储存进数组,利用数组的特性,通过双指针法对其进行判断,直至两下标相等,或相邻下标的值相等

3.代码示例

 public boolean isPalindrome(int x) {
    
    
            
        int num = 0;
        int t =x;
        if (t<0){
    
    
            return false;
        }
        while(t!=0){
    
    
            t/=10;
            num+=1;
        }
        int [] tmp = new int[num];
        for (int i=0;i<=num;i++){
    
    
            if (x==0){
    
    
                break;
            }
            tmp[i]=x%10;
            x/=10;
        }
        int b =num-1;
        for (int a=0;a<num;a++){
    
    

                if(((a+1)==b && tmp[a]==tmp[b])||a==b){
    
    
                    return true;
                }else if (tmp[a]==tmp[b]){
    
    
                    b--;
                    continue;
                }else{
    
    
                    return false;
                }





        }
        return true;

    }

猜你喜欢

转载自blog.csdn.net/weixin_44712669/article/details/111563144