Advertisement
Khadija_Assem

Untitled

Jan 16th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. class Solution {
  2. public List<String> generateParenthesis(int n) {
  3. List<String> result = new ArrayList<>();
  4. //As generated string would have size 2n
  5. backtrack("",0,0,result,2*n);
  6. return result;
  7. }
  8.  
  9. private void backtrack(String res,int open,int close,List<String> result,int n){
  10. // Make sure open braces are not greater than n/2
  11. if(open > n/2)
  12. return;
  13. //Make sure closed braces or not greater than open
  14. if(close > open)
  15. return;
  16. //when reached required size add to result
  17. if(res.length()==n){
  18. result.add(res);
  19. return;
  20. }
  21. //call function recursively with adding open and close one by one
  22. backtrack(res + "(",open+1,close,result,n);
  23. backtrack(res + ")",open,close+1,result,n);
  24.  
  25. }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement