Posts

Showing posts with the label Stacks

Valid Parentheses

Given a string 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. Note that an empty string is also considered valid. Example 1: Input: "()" Output: true Example 2: Input: "()[]{}" Output: true Example 3: Input: "(]" Output: false Example 4: Input: "([)]" Output: false Example 5: Input: "{[]}"  Output: true   Solution: We will use stacks here.  Algorithm: 1) If the element encountered is '{' , '[' and '(', we will push it into stack. 2)  If the element encountered is ']','}' and ')', we will check if it's complement is present at the top of stack.  If the complement is not present then we will return false else we will repeat s...