leetcode刷题笔记——Palindrome Number回文数——python3——字符串切片&反转

题目:

leetcode刷题笔记——Palindrome Number回文数——python3——字符串切片&反转_第1张图片

题目解读:此题需要判断输入的数字是不是回文数,第一个要求,负数不是回文数,第二,回文数颠倒过来与原来的数字相同,例如121颠倒之后还是121,就是语文中所说的回文的意思。

题目解答

class Solution:
    def isPalindrome(self, x: int) -> bool:
        if x>=0:
            xx=x
            huiwen=0
            while xx:
                huiwen=huiwen*10+xx%10
                xx=xx//10
            if huiwen==x:
                return True
        else:
            return False

此题所用到的思想可参考上一篇文章的内容,即整形数字的反转,通过判断所输入的数字反转之后有没有发生变化,如果反转之后与原来的数字相同,则该数字为回文数,再考虑到负数不是回文数的问题,增添一个if语句来筛选出不满足回文要求的负数。

 可能自己还是比较菜,看到大佬的大妈之后,我直接给跪了:

class Solution:
    def isPalindrome(self, x: int) -> bool:
		#check for negative value
        if(x < 0):
            return False
			
		#covert int to string
        string = str(x)
        
		#check whether string is the same as its reverse using slicing, then return boolean
        return string == string[::-1]

这里使用到的一个难点就是字符串的切片(对我来说比较难)

下面简单介绍一下字符串的切片,如果想要详细理解,可以点击链接https://blog.csdn.net/love20165104027/article/details/82750523:
 

 字符串切片的表示形式为:

字符串[开始索引:结束索引:步长]

下面列出几个代码例子方便理解:
 

str="hello world"
print(str)
print(str[0:6:1])
print(str[0:6:2])
print(str[::-1])

输出结果为:
leetcode刷题笔记——Palindrome Number回文数——python3——字符串切片&反转_第2张图片 

这里的str[::-1]表示的是从该字符串最后一个字符开始,以步长为-1切片,自然该切片的结束索引为字符串的第一个字符,该指令相当于把字符串反转

当然,字符串反转不止这一种方式,字符串是我们leetcode刷题中经常会遇到的问题,想要了解更多的实现字符串反转的方法,可以点击链接:https://blog.csdn.net/a1007720052/article/details/82911813

你可能感兴趣的:(leetcode刷题笔记,字符串,python,leetcode,算法)