<reponame>1lch2/PythonExercise
# 判断一个整数是否是回文数。回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。

# 示例 1:
# 输入: 121
# 输出: true

# 示例 2:
# 输入: -121
# 输出: false
# 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

# 示例 3:
# 输入: 10
# 输出: false
# 解释: 从右向左读, 为 01 。因此它不是一个回文数。

# 进阶:
# 你能不将整数转为字符串来解决这个问题吗？

# 骚操作
class Solution:
    def isPalindrome(self, x: int) -> bool:
        return str(x) == "".join(reversed(str(x)))

# 正经操作
class Solution:
    def isPalindrome(self, x: int) -> bool:
        x = str(x)

        i, j = 0, len(x) - 1
        while i < j: # 截至条件：指针相遇并交叉后
            if x[i] != x[j]:
                return False
            else:
                i += 1
                j -= 1
        return True
