力扣--回文数,经典题自己总结

有一道经典算法题目就是回文数,要求是出现一串数字,通过倒序的方式生成也能与原来的数字匹配就是回文数,给的数字是整数,int类型,有哪些思考方式。

1.逐个情景思考

这个适合于刚刚开始入门的我。

首先思考反向遍历的话,负数和为空肯定就不行,个位数是可以的。

if x < 0 or x==None:
    return False

其次,对比知道,回文数按照一个位置对称,前后都相等, 可以用先将数字转化为字符串类型,这样才可以逐个比对

采用两个指针的方式,选择前面的当两端的数字相等时候,前面的指针向前进一位,后面退一位,逐步向中间靠拢。

i,j=0,len(str(x))
while i <j:
    if x[i]==x[j]:
        i+=1
        j-=1
        return True
    else:
        return Fasle

不过好像运行不了。

2.看到别人提交的答案之后就知道自己有多天真啦。

根据字符串的定义,是可以从后往前遍历的,所以我们只要用[::-1]这个代码就能将前面的

class solution:
    def cont(self,x):
        res = int(str(abs(x)[::-1])))
    return x==res

abs是将x进行取绝对值的,str是将整数转化为字符串,然后进行逆序取值,紧接着在转化为int类型,整个做法一气呵成,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值