Solve tree view and parentheses cleanup
MetaSoftware Engineer · Technical ScreenLast updated
This question evaluates binary tree traversal and view-extraction skills for the right-side view problem and string-processing and minimal-edit balancing for the parentheses cleanup, probing competency in data-structure traversal, state tracking, and correctness under edge cases.
Solve the following two algorithm problems.
- Right-side view of a binary tree
Given the root of a binary tree, return the values of the nodes that would be visible if you looked at the tree from its right side, listed from top to bottom.
Example:
- Input: root = [1,2,3,null,5,null,4]
- Output: [1,3,4]
- Remove the minimum invalid parentheses
Given a string s containing lowercase English letters and the characters ( and ), remove the minimum number of parentheses so that the resulting string is valid.
A string is valid if:
- every opening parenthesis has a matching closing parenthesis,
- parentheses are properly ordered,
- letters may appear anywhere and do not affect validity.
Return any valid string after the minimum removals.
Examples:
- Input:
a)b(c)dOutput:ab(c)d - Input:
))( (Output: `` - Input:
(a(b(c)d)Output:a(b(c)d)
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.