深信服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原题