0
点赞
收藏
分享

微信扫一扫

Leetcode|python

先峰老师 2022-04-25 阅读 32

今天第一次做leetcode上面的题,选了一道easy型的判断回文数,但这第一道题完成的太艰难了,代码能写出来,可是第一次用,那个上面规则和格式挺麻烦,我在spyder上运行没问题,在leetcode上面就是通不过,一顿修改,一个小时就这么没有了,但最终还是过了,挺高兴的,以后做程序员吗?我也不知道,大概率不会,但是喜欢编程,就坚持下去吧。另外,看了一些评论区,竟然有人用一行代码解决了,我直接哭死。

解析:根据题目描述和给出的示例,首先确定回文数是一个非负数,比如-121反过来是121-就不行,然后就想办法把对称位置的数进行比较。

def ispalindrome(x):
    t = len(x)
    L = list(x)
    if int(x)<0:
        print('False')
    elif t%2==0:
        for i in range(t):
            if i<=t//2-1:
                if L[i]==L[t-1-i]:
                    continue
                else:
                    print('False')
                    break
            else:
                print('True')
                break
    else:
        for i in range(t):
            if i<=(t-1)//2-1:
                if L[i]==L[t-1-i]:
                    continue
                else:
                    print('False')
                    break
            else:
                print('True') 
                break
x = input('please input a integer:')
ispalindrome(x)

注 代码已进行测试,就不再写输出结果了

class Solution:
    def isPalindrome(self, x: int) -> bool:
        t = len(str(x))
        L = list(str(x))
        if int(x)<0:
            return False
        elif t%2==0:
            for i in range(t):
                if i<=t//2-1:
                    if L[i]==L[t-1-i]:
                        continue
                    else:
                        return False
                        break
                else:
                    return True
                    break
        else:
            for i in range(t):
                if i<=(t-1)//2-1:
                    if L[i]==L[t-1-i]:
                        continue
                    else:
                        return False
                        break
                else:
                    return True
                    break
        

这time。。。革命尚未成功,同志仍需努力啊

举报

相关推荐

0 条评论