無重複字元的最長子串java實現

2021-08-31 21:11:17 字數 632 閱讀 1221

首先把字串轉為字串陣列,這樣就可以逐一進行判斷。為了降低演算法的時間複雜度,我們使用linkedlist來儲存資料,這樣我們只要遍歷字串陣列一遍就可以輸出結果。逐一判斷,一旦遇到在鍊錶中不存在的字元,就加入鍊錶,若在鍊錶中已存在,則把鍊錶中的第乙個遇到的相同字元及其之前的字元刪除,在這個過程中更新最長子串長度。

本體用到了linkedlist的幾個方法,我們來簡單介紹一下它的使用:

1、add(); // 將指定元素新增到此列表的結尾。

2、contains(); //如果此列表包含指定元素,則返回 true。

3、indexof(); // 返回此列表中首次出現的指定元素的索引,如果此列表中不包含該元素,則返回 -1。

4、size(); // 返回此列表的元素數。

5、remove(); //移除此列表中指定位置處的元素。

public

class

solution

public

static

intlengthoflongestsubstring

(string s)

else

}return res;

}

修改str字串可觀察在不同字串下的輸出結果。

無重複字元最長子串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...

無重複字元最長子串

題目描述 給定乙個字串,找出不含有重複字元的 最長子串 的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是子串行而不是子串 i...

無重複字元的最長子串

給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。int le...