码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode-3. Longest Substring Without Repeating Characters

时间:2020-02-05 13:42:39      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:hat   put   queue   div   answer   class   abc   substr   note   

Given a string, find the length of the longest substring without repeating characters.

Example 1:

Input: "abcabcbb"
Output: 3 
Explanation: The answer is "abc", with the length of 3. 

Example 2:

Input: "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.

Example 3:

Input: "pwwkew"
Output: 3
Explanation: 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.

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        queue<char> char_q;
        
        set<char> char_set;
        
        int ret=0;
        for(char c:s)
        {
            if(char_set.count(c) != 0)
            {
                ret = max((int)char_q.size(),ret);
                while(char_q.front() != c)
                {
                    char_set.erase(char_q.front());
                    char_q.pop();
                }
                char_set.erase(char_q.front());
                char_q.pop();
            }
            char_q.push(c);
            char_set.insert(c);
        }
        ret = max((int)char_q.size(),ret);
        return ret;
        
    }
};

 

LeetCode-3. Longest Substring Without Repeating Characters

标签:hat   put   queue   div   answer   class   abc   substr   note   

原文地址:https://www.cnblogs.com/focus-z/p/12263119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!