力扣每日一题:回文算法

题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

示例1:

输入:x = 121

输出:true

示例2:

输入:x=-121

输出: false

示例3:

输入:x=10

输出:false

 bool isPalindrome(int x){
    
    
        if(x < 0 || (x % 10 ==0 && x != 0)){
    
    
            return false;
        }
        int revertedNumber = 0;
        while(x > revertedNumber){
    
    
            revertedNumber = revertedNumber * 10 + x % 10;
            x /=10;
        }
        return x == revertedNumber || x == revertedNumber/10;
}

代码思路:

调用参数x,如果x小于0,返回false,不是回文值,如果x值最后一位数为0,或者x等于0,返回false,也不是回文值,定义reverteNumber为0,当x大于0时,12321值除以10取余值为1,x除以10等于1232,继续循环。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/A6_107/article/details/122503142