栈特点使用:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是...
题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 /* * * @param {string} s * @return {boolean} */ var isValid = function (s) { if (s==" "||s=="" ){ return true ; } let stack = []; let left = ["{","(","[" ]; let right = ["}",")","]" ]; for (let i =0;i<s.length;i++ ){ if (left.indexOf(s[i])>-1 ){ stack.push(s[i]); } else if (s[i] === " " ){ continue ; } else { if (stack.pop() != left[right.indexOf(s[i])] ){ return false ; } } } if (stack.length!=0 ){ return false ; } return true ; }; 这里主要是使用了栈的先进后出的特点,遍历s字符串,当遇到左括号的时候就将左括号进栈