代码随想录| Day09 | 栈与队列 | 20. 有效的括号 | 1047. 删除字符串中的所有相邻重复项

96 阅读1分钟

20. 有效的括号

var isValid = function(s) {
    let  stack = []

    let obj = {
        '(':')',
        '{':'}',
        '[':']'
    }

    let newArr = s.split('')

    if(obj.hasOwnProperty(newArr[0])){
        stack.push(newArr[0])
    }else{
        return false
    }


    for(let i=0;i<newArr.length;i++){
        if(obj.hasOwnProperty(newArr[i])){
            stack.push(newArr[i])
        }else if(newArr[i]===obj[stack.slice(-1)]){
            stack.pop()
        }else return false
    }

    if(stack.length){
        return false
    }

    return true
};

1047. 删除字符串中的所有相邻重复项

var removeDuplicates = function(s) {
    let stack = []

    for(let v of s){
        if(stack[stack.length-1]!==v){
              stack.push(v)
        }else{
            stack.pop()
        }
    }
    return stack.join('')
};