小失误,基本一次过
1 class Solution { 2 public: 3 int lengthOfLongestSubstring(string s) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 if (s.size() <= 1) return s.size(); 7 int beg = 0; 8 int maxlen = 1; 9 for (int end = 1; end < s.size(); end++) { 10 for (int i = beg; i < end; i++) { 11 if (s[i] == s[end]) { 12 beg = i+1; 13 break; 14 } 15 } 16 maxlen = max(maxlen, end - beg + 1); 17 } 18 return maxlen; 19 } 20 };
C#
1 public class Solution { 2 public int LengthOfLongestSubstring(string s) { 3 if (s.Length <= 1) return s.Length; 4 int left = 0; 5 int maxLen = 1; 6 for (int right = 1; right < s.Length; right++) { 7 for (int i = left; i < right; i++) { 8 if (s[i] == s[right]) { 9 left = i + 1; 10 break; 11 } 12 } 13 maxLen = Math.Max(maxLen, right - left + 1); 14 } 15 return maxLen; 16 } 17 }