leetcode 3. Longest Substring Without Repeating Characters

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.

c++ 思路:二重循环,进行在线处理,如果,str中不包含字符,则进行追加字符串操作,否则跳出内层循环。若比已知来的打,那么更新max。

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int max=0;string str="";
        for(int i=0;i<s.length();i++){
            str="";
            for(int j=i;j<s.length();j++)
                if(str.find(s[j])==str.npos) str+=s[j];
                else break;
            if(str.length()>max) max=str.length();
        }
        return max;
    }
};
posted @ 2019-12-30 02:54  SteveYu  阅读(150)  评论(0编辑  收藏  举报