回文题

# 判断是否是回文
def func1(s: str):
s1 = list(s)
while len(s1) > 1:
if s1.pop() != s1.pop(0):
return False
return True

# 求子串中最长回文
def func2(s: str):
s1 = list(s) # 1qwertyytrewq
s2 = s1[::-1] # qwertyytrewq1
count = 0
for i in range(len(s1)):

for j in range(len(s2)):
num = 0
while True:
if (i + num > len(s1) - 1) or (j + num > len(s2) - 1):
break
if s1[i + num] == s2[j + num]:
num += 1
else:
break
if count < num:
count = num

return count


if __name__ == '__main__':
s = '1112212255'
print(func1(s))
print(func2(s))
posted @ 2022-04-30 13:11  狒狒桑  阅读(27)  评论(0)    收藏  举报