Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Properly matched parentheses Write a method boolean valid(String s) that returns

ID: 3703866 • Letter: P

Question

Properly matched parentheses
Write a method
boolean valid(String s)
that returns true if the string consists only of properly matched parentheses and brackets. Every ( must be closed by ) and every [ must be closed by ]. They must be closed in the correct order, and there cannot be extra ) or ] that do not close anything.

Examples:
Valid: ()[]
Valid: ([])
Invalid: (][)
Invalid: ())

Algorithm: Initialize an empty stack. Read each character from left to right.

If you see a ( or [, push it into a stack.

If you see a ) or ]

If it matches the character on top of the stack, pop a character from the stack.

If it does not match, or if the stack is empty, return false.

After reading every character, if the stack is empty return true, otherwise return false.

Explanation / Answer

public boolean valid(String s) { char ch; Stack stack = new Stack(); for(int i = 0; i