給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。
示例 1:
輸入: "abcabcbb"示例 2:輸出: 3
解釋: 因為無重複字元的最長子串是
"abc",所以其
長度為 3。
輸入: "bbbbb"示例 3:輸出: 1
解釋: 因為無重複字元的最長子串是
"b"
,所以其長度為 1。
輸入: "pwwkew"輸出: 3
解釋: 因為無重複字元的最長子串是
"wke"
,所以其長度為 3。請注意,你的答案必須是 子串 的長度,
"pwke"
是乙個子串行,不是子串。解法:首先是子串,所以連續的。乙個滑動視窗,視窗內的都是沒有重複的字元,我們需要盡可能的擴大視窗的大小。由於視窗在不停向右滑動,視窗的右邊界就相當於遍歷到的字元的位置。
為了求出視窗的大小,我們需要乙個變數left來指向滑動視窗左邊界,乙個變數記錄視窗的右邊界如果該字元沒有出現過就右邊界增加,否則就移動左邊界直到重複的字元去掉。
為了判斷字元是否出現過把出現過的字元都放入set中,遇到set中沒有的字元就加入set中並更新結果res,如果遇到重複的,則從左邊開始刪字元,直到刪到重複的字元停止。
classsolution
else
ss.erase(s[l++]);
}return
ans;
}};
LeetCode第3題題解 無重複字元的最長子串
題目 leetcode 題目描述 給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 ...
LeetCode刷題實戰3 無重複字元的最長子串
題目描述 給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 s abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 s bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 s pww...
leetcode刷題之路3 無重複字元的最長子串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。字元陣列和字串的區別,c語言字元陣列和字串區別詳解 開始的想法是在對字元陣列設定兩個指標,初始化乙個在位置0乙個在位置1,ans初始化...