This post is completed by 3 users
|
Add to List |
9. Valid or Well Formed Parentheses | Part - 1
Objective: You have been asked to write an algorithm to find Whether Given the Sequence of parentheses is well-formed. This question was asked in the Amazon Interview.
Input: A String contains a sequence of parentheses Output: true or false on whether parentheses are well-formed or not
Examples:
{{{{}}}}{}{}{}{{{}}} well formed ? - true {{{{}}}}{}{}{}{{{{}}} well formed? - false {}{ well formed? - false }{ well formed? - false {{{{{{{{}}}}}}}} well formed? - true
Click here to read about - Multiple Valid parentheses
Approach:
- Idea is to have two counters, one for open parentheses '{' and one for close '}'
- Read one character at a time and increment one of the counters
- If any given point of time count of close parentheses is greater than the open one, return false
- If at the end both counters are equal, return true
Output
{{{{}}}}{}{}{}{}{}{}{}{}{}{}{{{}}} well formed ? :true {{{{}}}}{}{}{}{{}{}{}{}{}{}{}{{{}}} well formed ? :false {}{ well formed ? :false }{ well formed ? :false {{{{{{{{}}}}}}}} well formed ? :true