找出字符串最长不重复子串(或者是列表)

# 找出来一个字符串中最长不重复子串
def find_Maxlen_Son_list(astr):
maxlen = 0 定义最长字串的初始长度//
dict = {}
list1 = []
for i in range(0,len(astr)):
str2 = ''
for j in range(i,len(astr)):
if astr[j] not in str2:
str2 += astr[j]
else:
break
# 将不重复字串放到字典里
dict[str2] = len(str2)
if len(str2) > maxlen:
maxlen = len(str2)

# 找出最长字串的列表
for a in dict.keys():
if dict[a] == maxlen:
list1.append(a)
return list1

if __name__ == '__main__':
str1 = input("请输入要运算的字符串:")
a = find_Maxlen_Son_list(str1)
print(a)


结果:

请输入要运算的字符串:abcacf

           ['abc', 'bca', 'acf']

猜你喜欢

转载自www.cnblogs.com/jinyanjun/p/9950121.html