【Leetcode刷题】算法:回文数

青旅半醒 2023-09-27 23:13 217阅读 0赞

文章目录

  • 一、题目介绍
  • 二、代码实战

一、题目介绍

在这里插入图片描述

二、代码实战

  1. class Solution:
  2. def isPalindrome(self, x: int) -> bool:
  3. if x < 0:
  4. return False
  5. x_str = str(x)
  6. left = 0
  7. right = len(x_str) - 1
  8. while left < right:
  9. if x_str[left] != x_str[right]:
  10. return False
  11. left += 1
  12. right -= 1
  13. return True
  1. class Solution::定义了一个名为 Solution 的类。
  2. def isPalindrome(self, x: int) -> bool::定义了一个名为 isPalindrome 的方法,该方法接受一个整数 x 作为参数,并返回一个布尔值表示是否为回文数。
  3. if x < 0::如果 x 是负数,则直接返回 False,因为负数不可能是回文数。
  4. x_str = str(x):将整数 x 转换为字符串,便于后续的比较。
  5. left = 0 和 right = len(x_str) - 1:初始化左右两个指针,left 指向字符串的开头,right 指向字符串的末尾。
  6. while left < right::进入循环,循环条件是左指针小于右指针,即还没有比较完整个字符串。
  7. if x_str[left] != x_str[right]::如果左指针所指的字符与右指针所指的字符不相等,则说明不是回文数,直接返回 False。
  8. left += 1 和 right -= 1:分别将左指针向右移动一位,右指针向左移动一位,继续比较下一个字符。
  9. 循环结束后,说明整个字符串比较完毕,没有发现不相等的字符,返回 True,表示是回文数。

这段代码通过将整数转换为字符串,然后使用双指针法从字符串的两端向中间进行比较,判断是否为回文数。如果在比较过程中发现不相等的字符,则直接返回 False,否则最终返回 True,表示是回文数。

结果展示如下:

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,217人围观)

还没有评论,来说两句吧...

相关阅读