Given a string, find the length of the longest substring without repeating characters.
Examples:
Given
"abcabcbb"
, the answer is "abc"
, which the length is 3.
Given
"bbbbb"
, the answer is "b"
, with the length of 1.
Given
"pwwkew"
, 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.
//Java Program: Longest Substring Without Repeating Characters
public class Solution {
public int lengthOfLongestSubstring(String s) {
int longestLength = 0;
ArrayList<Character> list = new ArrayList<Character>();
for(int i=0;i<s.length();++i) {
if (list.contains(s.charAt(i))) {
while(list.get(0)!=s.charAt(i)) {
list.remove(0);
}
list.remove(0);
}
list.add(s.charAt(i));
if (list.size() > longestLength) {
longestLength = list.size();
}
}
return longestLength;
}
}
No comments:
Post a Comment