首页 > 其他 > 详细

LeetCode-3. Longest Substring Without Repeating Characters

时间:2020-02-05 14:24:46      阅读:65      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!