python回文整数_Python学习日记——回文数(整数转为字符串)

Python学习日记005——回文数(整数转为字符串)

题目来源:LeetCode题库——回文数

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

Example1:

输入:121

输出:true

Example2:

输入:-121

输出:false

Example3:

输入:0

输出:true

链接:https://leetcode-cn.com/problems/palindrome-number

前面的博文中,我们通过借助整数反转的方法判断一个数是否为回文数。本文提出另一种方法:将整数转化为字符串。

回文数判断:将整数转化为字符串

将整数转化为字符串后,我们可以让程序检测首字符与末尾字符是否相同,如果一样,那么继续检测第二个字符和倒数第二个字符是否相同,如果仍然相同,则继续向字符串内侧依次进行检测……在这个过程中,直到有字符不对应相等或检测完所有字符才会停止。(如果字符串的字符个数为奇数个,则不比较中间的字符)

为了实现这个想法,我们定义low变量和high变量来表示字符串的起始和结束位置的两个字符。初始状态下,low = 0,high = len(s) - 1。如果在这两个位置的字符相同,那么low增加 1 而high减少 1 ,这个过程一直持续直到low >= high 或出现对应字符不匹配。

具体代码:

class Solution:

def isPalindrome(self, x: int) -> bool:

"""判断回文数:将整数转化为字符串来分析问题"""

s = str(x) #整数x转为字符串s

low = 0 #设置两个变量分别表示字符串首尾字符的位置

high = len(s) - 1

while low < high:

if s[low] != s[high]:

return False

low += 1

high -= 1

return True

学习过程中,欢迎指正。

原文链接:https://blog.csdn.net/weixin_43872060/article/details/107672180

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值