CODE

GENERATE PARENTHESES

Stack


public class Solution {  
  public List<string> GenerateParenthesis(int n) {
    List<string> stack = new List<string>();

    stack.Insert(0, "()");

    for (int i = 1; i < n; i++)
    {
      List<string> num = new List<string>();
      foreach (var s in stack)
      {
        int count = 1;
        for (int j = 0; j < s.Length; j++)
        {
          string cnct = s.Substring(0, j+1) + "()" + 
            s.Substring(j+1);
          if (!num.Contains(cnct)) num.Add(cnct);
        }
      }
      stack.Clear();
      foreach (var c in num)
        stack.Add(c);
    }
    return stack;
  }
}						
					
24
© 2025 Dallas Scott