Leetcode Algorithm: Problem 20 & 22 (Totally different)

Summer.K
3 min readNov 25, 2020

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…

--

--

Summer.K
0 Followers

Graduate student looking for data full-time job.