首页 > 代码库 > 【LeetCode】3. Longest Substring Without Repeating Characters
【LeetCode】3. Longest Substring Without Repeating Characters
题目:
Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb"
, the answer is "abc"
, which the length is 3.
Given "bbbbb"
, the answer is "b"
, with the length of 1.
Given "pwwkew"
, the answer is "wke"
, with the length of 3. Note that the answer must be a substring, "pwke"
is a subsequence and not a substring.
思路大概是建立一个映射表,遍历整个字符串,如果字符对应映射表的index值为-1,说明字符没出现过,计算长度大小,更新maxLength。如果字符出现过,那么就重新开始计算。遍历后得到最后结果。
class Solution {public: int lengthOfLongestSubstring(string s) { int indexOfChar[256]; memset(indexOfChar, -1, sizeof(indexOfChar)); int maxLength = 0; int initIndex = -1; for (int i = 0; i < s.length(); ++i){ if (indexOfChar[s[i]] > initIndex){ initIndex = indexOfChar[s[i]]; } indexOfChar[s[i]]=i; maxLength=max(maxLength, i - initIndex); } return maxLength; }};
【LeetCode】3. Longest Substring Without Repeating Characters
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。