有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
const matchBracket = (str = '(a{b([c]d}e)f') => { const stack = [] const leftSymbols = '({[' const rightSymbols = ')}]' const isMatch = (l,r) => { if(l === '(' && r === ')') return true if(l === '{' && r === '}') return true if(l === '[' && r === ']') return true return false } for(let i = 0; i < str.length; i++){ const s = str[i] if(leftSymbols.includes(s)){ stack.push(s) }else if(rightSymbols.includes(s)){ const top = stack[stack.length - 1] if(isMatch(top, s)){ stack.pop() }else { return false } } } return stack.length === 0 }
以自己现在的努力程度,还没有资格和别人拼天赋