接触编程时间不长,水平有限,代码以可以通过为主,欢迎批评指正。
3. Longest Substring Without Repeating Characters
思路:由于最长子字符串可能以字符串的任意位置开始,所以需要多次遍历字符串,每次遍历删掉第一个字符,这样就能保证可以搜索到所有可能的子字符串,之后用一个列表保存子字符串的长度,并输出其最大值。使用python3编程
代码如下:
class Solution:
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
l = []
if s != '':
s = '1'+s // 在测试字符串前面加一个字符,保证不会因为切片而遗漏字符
for j in range(len(s)):
a = ''
s = s[1:] // 每次遍历删掉s的第一个字符
for i in range(len(s)):
if s[i] not in a:
a = a+s[i]
else:
break
l.append(a)
b = []
for i in range(len(l)):
b.append(len(l[i]))
return max(b)
else:
return 0