问题
题目:[leetcode-3]
思路
暴力法。枚举所有子串。按行枚举。
枚举以s[i]为头的所有子串,如果当前子串存在重复元素,跳出。i = i + 1;
注意hash表的清空操作。
代码
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int sz = s.size();
if(!sz)
return 0;
bool hash[128];
int max = 1;
for( int i = 0; i < sz - 1; ++i )
{
std::memset( hash, 0, sizeof(hash) );
int len = 1;
hash[s[i]] = true;
for( int j = i + 1; j < sz; ++j )
{
if( !hash[s[j]] )
{
hash[s[j]] = true;
++len;
}
else
break;
}
if( len > max )
max = len;
}
return max;
}
};