leetcode-09-Palindrome Number

class Solution(object):
    def isPalindrome(self, x):
        """ :type x: int :rtype: bool """
        b=x
        if x<0:return  False
        if x>=2147483648:return False
        r=0
        while(x>=1):
            r=r*10+x%10
            x=x/10
        return r==b

python代码过oj越短越好。

class Solution(object):
    def isPalindrome(self, x):
        """ :type x: int :rtype: bool """
        b=x
        if x<0:return  False
        div=1
        while(x/div >=10):
                div*=10 
        while(x>0): 
            l = x/div  
            r = x%10  
            if(l!=r): return False     
            x=(x%div)/10 
            div/=100
        return True

另外一种思路,每次比较前后一对。不等就return false。相等就去头去尾。知道x<=0就跳出。一个函数里面如果前面有return 就不会继续执行后面的步骤了。不用每次都if-else。

你可能感兴趣的:(leetcode-09-Palindrome Number)