LEETCODEEasy
Valid Parentheses
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
- Every close bracket has a corresponding open bracket of the same type.
Example 1:
Input: s = "()"
Output: true
Example 2:
Input: s = "()[]{}"
Output: true
Example 3:
Input: s = "(]"
Output: false
Example 4:
Input: s = "([])"
Output: true
Example 5:
Input: s = "([)]"
Output: false
Constraints:
1 <= s.length <= 104sconsists of parentheses only'()[]{}'.
풀이 TypeScript
function isValid(s: string): boolean {
if (s.length % 2 === 1) return false;
const bracketPair: Record<string, string> = {
'(': ')',
'{': '}',
'[': ']'
}
const stack = [];
const startBrackets = Object.keys(bracketPair);
for (let char of s) {
if (startBrackets.indexOf(char) !== -1) stack.push(char)
else if (bracketPair[stack[stack.length - 1]] === char) stack.pop();
else return false
}
return stack.length === 0;
}복사됨