LeetCode -- 3. 無重複字元的最長子串 java
阿新 • • 發佈:2019-02-20
題目描述:
解題思路:可以String類的方法,用兩層迴圈,第一層迴圈是不斷從前往後走,用 i 遍歷字串,第二層迴圈則從第一層迴圈開始往後查詢最長無重複子串。在第二層迴圈中,每次按照索引 j 將字串拆分成子串,然後再從 i 開始查詢該子串的位置,如果該位置就是索引 j 當前的位置,則繼續往下尋找, 否則跳出迴圈,更新 max
class Solution { public int lengthOfLongestSubstring(String s) { if(s.length()==0||s.length()==1){ return s.length(); } int max=1; for(int i=0;i<s.length()-1;i++){ int len=1; for(int j=i+1;j<s.length();j++){ //判斷是否有重複的字元 if(s.indexOf(s.substring(j,j+1),i)==j){ ++len; }else{ break; } } //更新最長無重複子串長度 max=len>max?len:max; } return max; } }