letcode 3:the longest substring
class Solution {
public:
int lengthOfLongestSubstring(string s) {
//先得到字符串长度
int s_len = s.length() - 1;
int counti = 1; //从第二个开始查找
int countj;
int count_diff = 1; //计数不相同的字母
int max_len = 1; //最长长度一开始为1
int down = 0; //一开始从最底下开始查询某个字母的是否在他前面有相同,遇见相同的就截断,重新赋值down
if ( s_len < 0)
max_len = 0;
else{
while ( counti <= s_len ){ //一遍将s查询完
for ( countj = down; countj < counti; countj++){
if ( s[countj] != s[counti] ){
count_diff++;
if (max_len < count_diff){
max_len = count_diff;
}
}
else {
down = countj + 1; //从重复的字母后面哪一个开始查
}
}
counti++;
count_diff = 1; //重置计数器,以便于后面计算
}
}
return max_len;
}
};
本文标题:letcode 3:the longest substring
本文链接:https://www.haomeiwen.com/subject/rvpdmctx.html
网友评论