The eight Day 回文数

class Solution(object):
    """
    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    示例 1:
    
    输入: 121
    输出: true
    示例 2:
    
    输入: -121
    输出: false
    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
    示例 3:
    
    输入: 10
    输出: false
    解释: 从右向左读, 为 01 。因此它不是一个回文数。
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/palindrome-number
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    """

    """
    @author : jiyanjiao
    @date :2020-4-3
    """
    # 基本解法
    @staticmethod
    def isPalindrome(x):
        """
        :type x: int
        :rtype: bool
        """
        sx = str(x)
        rsx = sx[::-1]
        if sx == rsx:
            print("true")
        else:
            print("false")
    
    # 双向队列方法
    @staticmethod
    def isPalindrome_p(x):
        """
        :type x: int
        :rtype: bool
        """
        lst = list(str(x))
        while len(lst) > 1:
            if lst.pop(0) != lst.pop():
                
                print("False")
                return Falseprint("True")
        return True
    
    # 双指针方法
    @staticmethod
    def isPalindrome_z(x):
        """
        :type x: int
        :rtype: bool
        """
        lst = list(str(x))
        L, R = 0, len(lst)-1
        while L <= R:
            if lst[L] != lst[R]:
                print("false")
                return False
            L += 1
            R -= 1
        print("true")
        return True
        
if __name__ == '__main__':
    s = Solution()
    # s.isPalindrome(10)
    # s.isPalindrome_p(12321)
    s.isPalindrome_z(12321)
原文地址:https://www.cnblogs.com/jiyanjiao-702521/p/12624826.html