text function generateParenthesis(n): result = [] backtrack("", 0, 0, n, result) return result function backtrack(current, open, close, n, result): if length(current) == 2 * n: result.append(current) return if open < n: backtrack(current + "(", open + 1, close, n, result) if close < open: backtrack(current + ")", open, close + 1, n, result) Time complexity: (Catalan number). Space complexity: for recursion depth.
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
$ curl repovive.com/roadmaps/maang-interview-prep/backtracking/generate-parentheses-pseudocode
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████████████████████████████████████████████████████████████████████████████████████████