20. Valid Parentheses
Leetcode
題目
Input: s = "()"
Output: trueInput: s = "()[]{}"
Output: trueInput: s = "(]"
Output: false分析
解答
測資
Last updated
Input: s = "()"
Output: trueInput: s = "()[]{}"
Output: trueInput: s = "(]"
Output: falseLast updated
Input: s = "([)]"
Output: falseInput: s = "{[]}"
Output: truevar isValid = function(s) {
const stack = [s[0]];
const mapEndToStartBracket = {
")": "(",
"}": "{",
"]": "["
}
for(let i=1; i<s.length; i++) {
const char = s[i];
const start = mapEndToStartBracket[char];
// char 是 ) or } or ]
if(start) {
if(stack.pop() !== start) return false;
} else {
stack.push(char);
}
}
return !stack.length;
};let s = "()[]{}"; // true
s = "([)]"; // false
s = "{[]}"; // true
console.log(isValid(s))