首页 > 其他分享 >判断回文数

判断回文数

时间:2023-01-21 00:22:18浏览次数:53  
标签:10 判断 return int reversed public 回文

题目:

 

 

解法一:将整数转换为字符串

python3:

class Solution:
    def isPalindrome(self, x: int) -> bool:
        return str(x)==str(x)[::-1]

解法二:只需要判断一半

C语言

reversed == x 成立则一定是偶数位,reversed / 10 == x 成立则一定是奇数位,以及包含了奇偶的分支判断了。

class Solution {
    public boolean isPalindrome(int x) {
        // 0 是回文数
        if (x == 0) return true; 
        // 负数和除 0 以外以 0 结尾的数都不是回文数
        if (x < 0 || x % 10 == 0) return false; 
        // 记录 x 后一半的翻转,如 x = 4334,reversed = 43;x = 54345,reversed = 54
        int reversed = 0; 
        while (x > reversed) {
            reversed = reversed * 10 + x % 10;
            x /= 10;
        }
// x有偶数位和奇数位两种情况
        return reversed == x || reversed / 10 == x;
    }
} 

解法三:将数据完全翻转与原数据对比

public class Solution {
    public bool IsPalindrome(int x) {
        if(x<0) return false;
        if(x==0) return true;
        int a=x;
        int sum=0;
        while(x!=0){
            sum=sum*10+x%10;
            x/=10;
        }
        return sum==a;
    }
}

 

标签:10,判断,return,int,reversed,public,回文
From: https://www.cnblogs.com/JINGSOLO/p/17063426.html

相关文章