定义一个map数据结构存储(k,v),其中key值为字符,value值为字符位置+1,加1表示从字符位置后一个才开始不重复
public int lengthOfLongestSubstring(String s) { int length=s.length(); int max=0; //存放字符以及 Map<Character,Integer> map =new HashMap<>(); for (int start = 0,end=0; end <length ; end++) { char element=s.charAt(end); if (map.containsKey(element)){ //为了防止连续重复字符,这里要进行一次判断 //+1表示该元素后一个元素才是不重复字符串的开始 start=Math.max(map.get(element)+1,start); } max=Math.max(max,end-start+1); //保存最后一个该结点的位置; map.put(element,end); } return max; }原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。