Leetcode ----無重複字符的最長子串(JavaScript解法)

一、題目描述

給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。

二、示例

在這裏插入圖片描述

三、解題思路

使用類似滑動窗口的思路來解決,藉助一個空數組,當下一個字符沒有在新聲明的數組中時 就入數組,如果有的話就使用數組的splice函數對原數組進行切割,切掉該索引之前的數,從當前開始。一次判斷,使用循環,計算max就是arr的length。

四、代碼

```javascript
/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
    var arr = []
    var max = 0
    for(let i = 0 ; i <s.length ; i++){
        let index = arr.indexOf(s[i])
        if(index !== -1){
            arr.splice(0,index+1)
        }
        arr.push(s.charAt(i))
        max = Math.max(arr.length,max)

    }
    return max 
};
五、結果

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章