给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke"是一个子序列,不是子串。
提示:
0 <= s.length <= 5 * 104s由英文字母、数字、符号和空格组成
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
if len(s)==0:
return 0
elif s.count(s[0])==len(s):
return 1
else:
maxlength=0
for index in range(len(s)):
sstr=''
sstr+=s[index]
length=len(sstr)
if length>maxlength:
maxlength=length
if index+2==len(s):
if s[index+1] not in sstr:
sstr+=s[index+1]
if len(sstr)>maxlength:
maxlength=len(sstr)
return maxlength
else:
return maxlength
for i in range(index+1,len(s)):
if s[i] not in sstr:
sstr+=s[i]
if len(sstr)>maxlength:
maxlength=len(sstr)
else:
if len(sstr)>maxlength:
maxlength=len(sstr)
break
return maxlength
1046

被折叠的 条评论
为什么被折叠?



