public class Solution
{
public IList<string> GenerateParenthesis(int n)
{
List<string> temp = new List<string>();
string s = "";
IsOK(temp, n*2, 0, s);
return temp;
}
public void IsOK(List<string> ltresult,int n,int num,string s)
{
if(s.Length == n)
{
if(Right(s))
{
ltresult.Add(s);
}
return;
}
s += "(";
IsOK(ltresult, n, s.Length, s);
s=s.Remove(s.Length-1, 1);
s += ")";
IsOK(ltresult, n, s.Length, s);
s=s.Remove(s.Length - 1, 1);
}
private bool Right(string s)
{
int n = 0;
foreach (var item in s)
{
if (item == '(')
n++;
else
n--;
if (n < 0)
return false;
}
return n==0;
}
}
LeetCode_22_生成括号_C#
最新推荐文章于 2024-07-18 23:17:13 发布