题目
想到ascii码表一共就256个字符,遍历时每次标记就行了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Solution { public: bool vis[300]; int len=0; int ans=0; int lengthOfLongestSubstring(string s) { for(int i=0;i<s.size();i++){ len=0; memset(vis,0,sizeof vis); for(int j=i;j<s.size();j++){ if( vis[ s[j] ] == 0){ vis[ s[j] ]=1; len++; } else break; } if( len > ans ) ans=len; } return ans; } };
|