leetcode22. 括号生成
生活随笔
收集整理的這篇文章主要介紹了
leetcode22. 括号生成
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給出?n?代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的并且有效的括號組合。
例如,給出?n = 3,生成結果為:
[
? "((()))",
? "(()())",
? "(())()",
? "()(())",
? "()()()"
]
簡單搜索回溯
class Solution {List<String> ans = new ArrayList();public List<String> generateParenthesis(int n) {backtrack("", 0, 0, n);return ans;}public void backtrack(String cur, int open, int close, int max){if (cur.length() == max * 2) {ans.add(cur);return;}if (open < max) backtrack(cur+"(", open+1, close, max);if (close < open) backtrack(cur+")", open, close+1, max);} }?
總結
以上是生活随笔為你收集整理的leetcode22. 括号生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么折纸鹤(最简单千纸鹤折法6步)
- 下一篇: 《魔法门之英雄无敌7》圣堂魔法英雄介绍