22. 括号生成 golang 图解
生活随笔
收集整理的這篇文章主要介紹了
22. 括号生成 golang 图解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
給出 n 代表生成括號(hào)的對(duì)數(shù),請(qǐng)你寫出一個(gè)函數(shù),使其能夠生成所有可能的并且有效的括號(hào)組合。
例如,給出 n = 3,生成結(jié)果為:
[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
解法
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)} }圖解
總結(jié)
以上是生活随笔為你收集整理的22. 括号生成 golang 图解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英雄联盟莫甘娜的E对引燃和虚弱有没有效果
- 下一篇: 279. 完全平方数 golang BF