用栈来判断,遇到闭合就弹出,最后没有剩下就是完全匹配
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
var isValid = function (s) { const map = { "(": ")", "[": "]", "{": "}", }; const stack = []; for (let i = 0; i < s.length; i++) { const top = stack.length > 0 ? stack[stack.length - 1] : ""; const cur = s[i]; if (cur === map[top]) { stack.pop(); } else { stack.push(cur); } } return stack.length === 0; };
|