-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLongest Substring.py
More file actions
42 lines (36 loc) · 1.27 KB
/
Longest Substring.py
File metadata and controls
42 lines (36 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
"""
https://leetcode.com/problems/longest-substring-without-repeating-characters/
Given a string, find the length of the longest substring without repeating characters.
Example 1:
Input: "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3.
Example 2:
Input: "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.
Example 3:
Input: "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3.
Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
"""
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
longest = ""
currString = ""
# Loops through each character
for char in s:
# Checks if already present
if char in currString:
# Gets the longest string out of current string and longest, setting whichever is longest
if len(currString) > len(longest):
longest = currString
# Resets current string
currString = char
else:
# Appends to current string if not already in the string
currString = currString+char
print(longest)
print(len(longest))
return len(longest)