Leetcode-009-回文数

本题正常人思路都是用字符串处理。

这里注意一下Java中字符串是如何翻转的:

class Solution {
    public boolean isPalindrome(int x) {
        String original = String.valueOf(x);
        return new StringBuilder(original).reverse().toString().equals(original);

    }
}

Python就更简单了:

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

但是本题中延伸问的是如果不用字符串怎么做,那思路可以参考第7题。

class Solution {
    public boolean isPalindrome(int x) {
        
        if(x<0)return false;
        else if(x==0) return true;

        int x_original = x;
        int result = 0;
        while(x!=0){
            result = result*10 + x%10;
            x/=10;
        }
        return result==x_original;
    }
}
class Solution:
    def isPalindrome(self, x: int) -> bool:
        if x<0:
            return False
        elif x==0:
            return True
        
        result = 0
        x_original = x
        while x!=0:
            result = result*10 + x%10
            x //= 10
        return result == x_original

猜你喜欢

转载自www.cnblogs.com/huangzengrui/p/12346996.html