深信服9.1笔试 Python
第一题做的时候想岔了,只有一半,现在改了改不知道咋样:
def solution(s):
if s == "":
return True
if len(s) % 2 != 0:
return False
if len(s) == 2:
return True if s[0] == s[1] else False
ts = ""
for i in s:
ts += i
if not s[len(ts):].__contains__(ts[::-1]):
# 保证ts就是最长字串本身
ts = ts[:-1]
break
# 找不到对称串
if ts == "":
return False
s1 = s[len(ts):]
# 找出索引
idx2 = s1.find(ts[::-1])
# 去掉ts部分
s2 = s1[:idx2]
s3 = s1[idx2 + len(ts):]
# print(f"{s} --> {ts} --> {s2+s3}")
return solution(s2 + s3) 第二题**33原题
查看22道真题和解析
