1.

Given an integer N representing the number of pairs of parentheses, the task is to generate all combinations of well-formed(balanced) parentheses.


Example 1:

Input:
N = 3
Output:
((()))
(()())
(())()
()(())
()()()
Example 2:
Input:
N = 1
Output:
()

Your Task:  
You don't need to read input or print anything. Complete the function AllParenthesis() which takes N as input parameter and returns the list of balanced parenthesis.
Expected Time Complexity: O(2N).
Expected Auxiliary Space: O(2*N*X), X = Number of valid Parenthesis.
Constraints:
1 ≤ N ≤ 12
2.
Given a number N, generate bit patterns from 0 to 2^N-1 such that successive patterns differ by one bit. 
 
Example 1:
Input:
N = 2
Output:
00 01 11 10
Explanation:
00 and 01 differ by one bit.
01 and 11 differ by one bit.
11 and 10 also differ by one bit.
 
Example 2:
Input:
N=3
Output:
000 001 011 010 110 111 101 100
Explanation:
000 and 001 differ by one bit.
001 and 011 differ by one bit.
011 and 010 differ by one bit.
Similarly, every successive pattern
differs by one bit.
Your task:
You don't need to read input or print anything. Your task is to complete the function graycode() which takes an integer N as input and returns a la list of patterns.
 
Expected Time Complexity: O(2n)
Expected Auxiliary Space: O(2n)
 
Constraints :
1<=N<=16
3.

Given a String S, Find all possible Palindromic partitions of the given String.

Example 1:

Input:
S =
"madam"
Output:
m a d a m
m ada m
madam

Your Task:
You don't need to read input or print anything. Your task is to complete the function allPalindromicPerms() which takes a String S as input parameter and returns a list of lists denoting all the possible palindromic partitions.

 

Expected Time Complexity: O(N*2N)
Expected Auxiliary Space: O(N2), where N is the length of the String

 

Constraints:
1 <= |S| <= 20