回文数算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
回文数算法
回文数是指正着和倒着都相同的整数。
常见的回文数有121、1221、12321等。
判断一个数是否是回文数需要将其反转后与原数进行比较。
具体算法步骤如下:
1. 将数字转为字符串类型,并记录字符串长度n。
2. 初始化左右指针left和right,分别指向字符串的首尾字符。
3. 依次比较left和right位置上的字符,如果不一样则返回false,否则将left右移一位,right左移一位,继续比较。
4. 如果两个指针重合,则说明该数是回文数,返回true。
实现代码如下:
```python
def isPalindrome(x: int) -> bool:
s = str(x)
n = len(s)
left, right = 0, n - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
```
该算法的时间复杂度为O(n),其中n为字符串长度。