一 题目描述
给定一个字符串,请编写一个函数判断该字符串是否回文。如果回文请返回true,否则返回false。
示例1 输入:“absba” 返回值:true
示例2 输入:“ranko” 返回值:false
示例3 输入:“yamatomaya” 返回值:false
示例4 输入:“a” 返回值:true
备注: 字符串长度不大于1000000,且仅由小写字母组成
二 解题思路及代码:
(一) 暴力法
class Solution:
def judge(self , str ):
# write code here
if not str:
return True
new_str = str[::-1]
return new_str == str
或者:
class Solution:
def judge(self , str ):
# write code here
if not str:
return True
if str==str[::-1]:
return True
(二) 递归
参考回文链表的思路,利用递归完成…步骤如下:
1、 比对left和right是否一致
2、一致,++left, right–
3、不一致,fasle
4、left == right则退出
class Solution:
def judge(self , str ):
# write code here
if not str:
return True
left = 0
right = len(str)-1
while left < right and left != right:
if str[left] == str[right]:
left += 1
right -= 1
else:
return False
return True
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99766.html