代码实现
def no_repeat_str(str):
# 计算出字符串的总长度,即循环的次数
length = len(str)
# 存放无重复字串,把所有可能的无重复的字串都放在这里面
result = []
# 遍历每一个字符
for i in range(length):
# 这个用来保存每一个阶段的无重复的字符串
tmp = str[i]
# 查看下一个相邻字符
for j in range(i+1, length):
# 只有这个字符不在tmp字符串中,就把它添加到tmp中,
# 否则就退出本次循环,进行下一个字符的遍历
if str[j] not in tmp:
tmp = tmp + str[j]
else:
break
# 把每一次无重复的字符都添加到结果的列表中
result.append(tmp)
# 对这个列表中的字符串,利用长度进行排序,我们要最后一个即可
result.sort(lambda x, y: cmp(len(x), len(y)))
return result[-1]