深圳网站建设响应式网站,建设项目环保竣工验收备案网站,360官网入口,莲都区建设局网站LCR 016. 无重复字符的最长子串
解题思路
窗口内的字符串就是不重复子串每次遇到新的字符 看看窗口内是否存在该字符 如果存在直接剔除 然后调整窗口左边界不存在 添加窗口内部 右边界
class Solution {public int lengthOfLongestSubstring(String s) {if(s.length() …LCR 016. 无重复字符的最长子串
解题思路
窗口内的字符串就是不重复子串每次遇到新的字符 看看窗口内是否存在该字符 如果存在直接剔除 然后调整窗口左边界不存在 添加窗口内部 右边界
class Solution {public int lengthOfLongestSubstring(String s) {if(s.length() 1){return s.length();}// 窗口内的字符串就是不重复子串// 每次遇到新的字符 看看窗口内是否存在该字符 如果存在直接剔除 然后调整窗口左边界// 不存在 添加窗口内部 右边界int res 1;int left 0;int right 0;SetCharacter window new HashSet();while(right s.length()){char ch s.charAt(right);// 取出有边界字符 判断窗口内是否存在// 一直判断有边界字符 移除左边字符 直到和他冲突的左边界字符被移除为止while(window.contains(ch)){// 移除字符window.remove(s.charAt(left));//移除左边界字符left;}res Math.max(res,right - left 1);window.add(ch);right;}return res;}
}