day14(11.14)——leetcode面试经典150
3. 无重复字符的最长子串
今天的题顺利写出来了!!!
3. 无重复字符的最长子串
题目:


题解:
class Solution {public int lengthOfLongestSubstring(String s) {// 左边界int l=0;// 不断找最长字符串StringBuilder str=new StringBuilder();// 最长不重复的长度int maxx = 0;int index = -1;for(int i=0;i<s.length();i++) {// StringBuilder 的 indexOf 方法 **只接受 String 参数!index = str.indexOf(String.valueOf(s.charAt(i)));// 说明在字符串中找到了当前的iif(index!=-1) {l=index+1;str.delete(0,l);}//这里不能用else,因为如果有重复元素,//我们需要把在str中的0-重复元素之间全部删掉,//再把当前的i加入,如果没有重复元素,也应该把当前的i加入,//这样更新最长长度// 将当前字符加入str中str.append(s.charAt(i));// 更新最长maxx=Math.max(maxx,str.length());}return maxx;}
}
