热题

70 阅读1分钟

有效括号

参考

image.png

var isValid = function(s) {
    if(s.length %2) {
        return false
    }
    let arr = []
    let obj = {
        "(":")",
        "{":"}",
        "[":"]"
    }
    for(let i = 0; i < s.length; i++) {
        if(obj[s[i]]) {
            arr.push(s[i])
        }else {
            if(!arr.length || obj[arr.pop()] !== s[i]) {
                 return false
            }
        }
    }
    return !arr.length
};

最长不含重复字符长度

参考

image.png

var lengthOfLongestSubstring = function(s) {
    let arr = [], max = 0
        for(let i = 0; i < s.length; i++) {
            let tmp = arr.indexOf(s[i])
            if(tmp === -1) {
                arr.push(s[i])
            }else {
                arr.splice(0, tmp + 1)
                arr.push(s[i])
            }
        max = Math.max(max, arr.length)
        }
    return max
};