示例:
給定 "abcabcbb" ,沒有重復字符的最長子串是 "abc" ,那么長度就是3。
給定 "bbbbb" ,最長的子串就是 "b" ,長度是1。
給定 "pwwkew" ,最長子串是 "wke" ,長度是3。請注意答案必須是一個子串,"pwke" 是 子序列 而不是子串。
小白進階第二篇:C# 繼續走起,可能復雜度會比較高,慢慢學習再優化。
public class Solution { public int LengthOfLongestSubstring(string s) { List<char> listTemp = new List<char>(); int maxCount = 0; int i = 0; while (i < s.Length){ if(!listTemp.Contains(s[i])){ listTemp.Add(s[i]); maxCount = (maxCount<listTemp.Count)? listTemp.Count:maxCount; i++; } else { if(listTemp.Count!=0){ listTemp.RemoveAt(0); } } } return maxCount; throw new Exception("沒有找到最長子串"); } }
