题目描述
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.
My solution(94ms,39.2MB)
class Solution { public int lengthOfLongestSubstring(String s) { HashMap<String,Integer> map = new HashMap<String,Integer>(); int result=0,current=1; for(int i=0;i<s.length();){ String temp = s.substring(i,i+1); if (!map.containsKey(temp)) { map.put(temp,1); i++; }else{ i = current; current++; int len = map.size(); if(len > result){ result = len;} map.clear(); } if(map.size()>result){ result = map.size(); } } return result; } }