public class Solution {
//ref http://blog.csdn.net/linhuanmars/article/details/19949159 很精妙的解法哟
public int lengthOfLongestSubstring(String s) {
if(s==null || s.length()<1) return 0;
HashSet<Character> hs = new HashSet<Character>();
int maxL = 1;
int wk=0, run=0;
while(run<s.length()){
if(hs.contains(s.charAt(run))){
maxL = maxL < (run-wk) ? (run-wk): maxL;
while(s.charAt(wk)!=s.charAt(run)){
hs.remove(s.charAt(wk));
wk++;
}
wk++;
}else{
hs.add(s.charAt(run));
}
run++;
}
return Math.max(run-wk, maxL);
}
}
Longest Substring Without Repeating Characters
最新推荐文章于 2021-12-03 15:58:56 发布