给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。web
示例:svg
输入: "abcabcbb" 输出: 3 解释: 由于无重复字符的最长子串是 "abc",因此其长度为 3。
输入: "bbbbb" 输出: 1 解释: 由于无重复字符的最长子串是 "b",因此其长度为 1。
输入: "pwwkew" 输出: 3 解释: 由于无重复字符的最长子串是 "wke",因此其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
class Solution { public: int lengthOfLongestSubstring(string s) { int start = 0; int end = 0; int length = 0; int result = 0; while (end < s.size()) { char letter = s[end]; for (int i = start; i < end; i++) { if (letter == s[i]) { start = i + 1; length = end - start; break; } } end++; length++; result = max(result, length); } return result; } };