为什么清除 tmp 时,结果也会被删除?结果应该是不重复字符的子字符串列表。
def lengthOfLongestSubstring(s):
tmp = []
result = []
index = 0
for i in s:
if i not in tmp:
tmp.append(i)
continue
result.append(tmp)
tmp.clear()
return result
print(lengthOfLongestSubstring('pwwkew'))
因为您不需要在
tmp.clear()
没有清楚了解自己在做什么的情况下使用该方法。改用tmp = []
上面的代码。result.append(tmp)
添加对 的引用,tmp
当您编写时tmp.clear()
,所发生的就是您所看到的 - 所有添加的列表都被清除,因为您添加了同一个列表的result
许多副本。并且当您编写时,您会创建一个新的空列表,独立于其他列表。tmp = []