1.有效的括号
/**
* T(n): O(n)
* S(n): O(n)
*/
function isValid(s: string): boolean {
const mapping = {
'(': ')',
'{': '}',
'[': ']'
}
const stack = []
for (const c of s) {
if (Object.keys(mapping).includes(c)) {
stack.push(c)
} else if (Object.values(mapping).includes(c)) {
if (stack.length === 0 || mapping[stack.pop()] !== c) {
return false
}
}
}
return stack.length === 0
};