力扣 22括號生成

2021-10-04 22:59:44 字數 633 閱讀 7643

22. 括號生成

難度中等942收藏分享切換為英文關注反饋

數字 n 代表生成括號的對數,請你設計乙個函式,用於能夠生成所有可能的並且有效的括號組合。

示例:

輸入:n = 3輸出:[

"((()))",

"(()())",

"(())()",

"()(())",

"()()()"

]

思路:我想的是先把所有情況弄出來,然後再刪選出合適的,(缺點:複雜度很高)

怎麼把左右情況弄出來:用遞迴,你的字元除了『(』之外就是『)』。所以遞迴下去就可以找出所有情況了

然後怎麼判斷這個字元是不是符合規定,可以用棧模擬,或者判斷左右括號數量。

class solution 

public void digui(char current,int t,listlist)

} else

} public boolean chack(char current)

return (len==0);

}}

力扣22 括號生成(動態規劃)

力扣22.括號生成 動態規劃 數字 n 代表生成括號的對數,請你設計乙個函式,用於能夠生成所有可能的並且 有效的 括號組合。示例 1 輸入 n 3 輸出 示例 2 輸入 n 1 輸出 1 n 8 反思 首先,面向小白 什麼是動態規劃?在此題中,動態規劃的思想類似於數學歸納法,當知道所有 i當我們清楚...

22 括號生成

參考回溯法 1.class solution def init self self.ans list defgenerateparenthesis self,n int self.parenthesisiter n,0,return self.ans list defparenthesisiter ...

22 括號生成

給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 在leetcode中有關括號的題共有三道,除了這一道的另外兩道是valid parentheses 驗證括號和longest valid parentheses 最長有效括號,這...