(算法07/Leetcode9)回文数

题目

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
在这里插入图片描述

思路

1.①只要是负数或者是0,可立即返回真假值
②反转数字,看两者是否相等

class Solution:
    def isPalindrome(self, x: int) -> bool:
        if(x==0):
            return True
        if(x<0 or x%10==0):
            return False
        RESULT=0
        ORIGIN=x
        while(x):
            RESULT=RESULT*10+x%10
            x=int(x/10)
        if(RESULT==ORIGIN):
            return True
        else:
            return False

2.①反转一半,看反转后的一半和剩下的一半相不相同
②注意如果为奇数时,需要除于10

class Solution:
    def isPalindrome(self, x: int) -> bool:
        if(x==0):
            return True
        if(x<0 or x%10==0):
            return False
        RESULT=0
        while(x>RESULT):
            RESULT=RESULT*10+x%10
            x=int(x/10)
        return x==RESULT or x==int(RESULT/10)
发布了19 篇原创文章 · 获赞 4 · 访问量 516

猜你喜欢

转载自blog.csdn.net/zhuangww05/article/details/104927018