22. 括号生成 golang 图解
生活随笔
收集整理的這篇文章主要介紹了
22. 括号生成 golang 图解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
給出 n 代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的并且有效的括號組合。
例如,給出 n = 3,生成結果為:
[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
解法
func generateParenthesis(n int) []string {nums := make([]string, 0)generate("",&nums, n, n)return nums }func generate(s string, nums *[]string, left int,right int ) {if left == 0 && right == 0 {*nums = append(*nums, s)return}if left > 0 {generate(s + "(", nums, left - 1, right)}if right > left {generate(s + ")", nums, left, right - 1)} }圖解
總結
以上是生活随笔為你收集整理的22. 括号生成 golang 图解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英雄联盟莫甘娜的E对引燃和虚弱有没有效果
- 下一篇: 279. 完全平方数 golang BF