这是在CSDN看到的其他解法
class solution:
def lengthOfLongestSubstring(self, s):
“”"
:type s: str
:rtype: int
“”"
st = {}
i, ans = 0, 0
for j in range(len(s)):
if s[j] in st:
i = max(st[s[j]], i)
ans = max(ans, j - i + 1)
st[s[j]] = j + 1
return ans
个人理解起来比较慢,发现有另外一种代码量少也容易理解的写法:
先将字符串切片,然后取出最长的一个,拼接起来就是结果了。
s = “jadasjhdhawaeirjwehgf234456skjdngfkds七二五二不是但凡123sf…2423%adsa”
head=s[:1]
list=s.split(head)
print (head+(max(list,key=len)))
输出:jdngfkds七二五二不是但凡123sf…2423%adsa