问题
给定一个字符串,找出不含有重复字符的最长子串的长度。
示例:
给定 "abcabcbb"
,没有重复字符的最长子串是 "abc"
,那么长度就是3。
给定 "bbbbb"
,最长的子串就是 "b"
,长度是1。
给定 "pwwkew"
,最长子串是 "wke"
,长度是3。请注意答案必须是一个子串,"pwke"
是 子序列 而不是子串
代码实现
class Solution { public: int lengthOfLongestSubstring(string s) { //cout << s << endl; uint64_t size = s.length(), begin = 0, end = 0, max_length = 0; for (int end = 0; end < size; end++) { for (int j = begin; j < end; j++) { //cout << begin << "\t" << end << endl; if (s[j] == s[end]) { begin = j + 1; continue; } } if (end - begin + 1 > max_length) { max_length = end - begin + 1; } } //cout << max_length << endl; return max_length; } };
推荐
喜欢编程