您的位置:首页 > 其它

LeetCOde------3.Longest Substring Without Repeating Characters

2016-09-14 15:44 337 查看
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.

public class Solution{
public static int lengthOfLongestSubstring(String s) {
if(s==null)
return 0;
char[] arr = s.toCharArray();
int pre = 0;

HashMap<Character, Integer> map = new HashMap<Character, Integer>();

for (int i = 0; i < arr.length; i++) {
if (!map.containsKey(arr[i])) {
map.put(arr[i], i);
} else {
pre = Math.max(pre, map.size());
i = map.get(arr[i]);
map.clear();
}
}

return Math.max(pre, map.size());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: