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; //計數(shù)不相同的字母
        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; //從重復(fù)的字母后面哪一個開始查
                     }       
                }
                counti++;
                count_diff = 1; //重置計數(shù)器,以便于后面計算
            }
        }
        return max_len;         
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容