Problem 20. Valid Parentheses
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.An input string is valid if:1. Open brackets must be closed by the same type of brackets.
2. Open brackets must be closed in the correct order.
Example 1:
Input: s = "()"
Output: true
Example 2:
Input: s = "()[]{}"
Output: true
Example 3:
Input: s = "(]"
Output: false
Example 4:
Input: s = "([)]"
Output: false
Example 5:
Input: s = "{[]}"
Output: true
Constraints:
1 <= s.length <= 104
s
consists of parentheses only'()[]{}'
.
Method1: (Without Stack: I did not know Stack when I first started this problem, so I tought about using while loop to realise.)
Thought:
{[()[]{}]):
Step1: You need to remove the innermost pairs: []{}()(which has nothing in them)
Step2: After removing the innermost pairs, you get a new string. Now you have new innermost pairs: []{}(), remove them again
......
Unitil you do not have any []{}() in your final string----
This thought comes from our…