diff --git a/Backtracking/generateParentheses.js b/Backtracking/generateParentheses.js new file mode 100644 index 0000000000..f64da052bd --- /dev/null +++ b/Backtracking/generateParentheses.js @@ -0,0 +1,19 @@ +const generateParentheses =(n, chres, openParenthese, closedParenthese, res) => { + if (openParenthese === n && closedParenthese === n) { + res.push(chres); + return; + } + + if (openParenthese <= n) { + generateParentheses(n, chres + "(", openParenthese + 1, closedParenthese, res); + } + + if (closedParenthese < openParenthese) { + generateParentheses(n, chres + ")", openParenthese, closedParenthese + 1, res); + } +} + +let res = []; +generateParentheses(3, [], 0, 0, res); + +export { generateParentheses } \ No newline at end of file