From cc1dec7c28d1d8b1b17464d2fbcd7021ebb6937d Mon Sep 17 00:00:00 2001 From: Qamber Hasnain <63412921+Qamberhasnain@users.noreply.github.com> Date: Mon, 24 Oct 2022 23:04:06 +0530 Subject: [PATCH] Create GenerateParentheses.java --- GenerateParentheses.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 GenerateParentheses.java diff --git a/GenerateParentheses.java b/GenerateParentheses.java new file mode 100644 index 0000000..26ea48e --- /dev/null +++ b/GenerateParentheses.java @@ -0,0 +1,25 @@ +class Solution { + public List generateParenthesis(int n) { + List combs = new ArrayList<>(); + generate(n, n, new StringBuilder(), combs); + return combs; + } + + public void generate(int open, int close, StringBuilder sb, List combs){ + if(open == 0 && close == 0){ + combs.add(sb.toString()); + return; + } + if(open > 0){ + sb.append("("); + generate(open - 1, close, sb, combs); + sb.delete(sb.length() - 1, sb.length()); + } + + if(close > 0 && open < close){ + sb.append(")"); + generate(open, close - 1, sb, combs); + sb.delete(sb.length() - 1, sb.length()); + } + } +}