From 2a69f36e6ad6c7e3222c3ead6a11243311186806 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Thu, 27 Aug 2026 14:31:32 -0400 Subject: [PATCH] docs(docs): add Valid Parentheses solution page --- .../content/(string)/20-valid-parentheses.mdx | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 apps/docs/content/(string)/20-valid-parentheses.mdx diff --git a/apps/docs/content/(string)/20-valid-parentheses.mdx b/apps/docs/content/(string)/20-valid-parentheses.mdx new file mode 100644 index 0000000..e26830b --- /dev/null +++ b/apps/docs/content/(string)/20-valid-parentheses.mdx @@ -0,0 +1,54 @@ +--- +title: '20. Valid Parentheses' +description: Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid +sidebar: + label: 'Valid Parentheses' + badge: 'Easy' +--- + +Stack + +### 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 <= 10^4` +- `s` consists of parentheses only '()[]{}'. + +## Solution + +```py +class Solution: + def isValid(self, s: str) -> bool: + stack = [] + pairs = {")": "(", "]": "[", "}": "{"} + + for c in s: + if c in pairs: + if stack and pairs[c] == stack[-1]: + stack.pop() + else: + return False + else: + stack.append(c) + + return True if not stack else False +```