题解 | #括号生成#
括号生成
https://www.nowcoder.com/practice/c9addb265cdf4cdd92c092c655d164ca
package main
func generateParenthesis( n int ) []string {
// write code here
ans, oneShot := []string{}, []byte{}
var helper func(int, int)
helper = func(lBracketNum, rBracketNum int) {
if len(oneShot) == 2 * n {
ans = append(ans, string(oneShot))
return
}
if lBracketNum > 0 {
oneShot = append(oneShot, '(')
helper(lBracketNum-1, rBracketNum)
oneShot = oneShot[:len(oneShot)-1]
}
if rBracketNum > 0 && rBracketNum > lBracketNum {
oneShot = append(oneShot, ')')
helper(lBracketNum, rBracketNum-1)
oneShot = oneShot[:len(oneShot)-1]
}
}
helper(n, n)
return ans
}
查看20道真题和解析
影石Insta360公司氛围 452人发布