123456789101112131415161718192021222324 |
- package main
- func generateParenthesisIter(last string, left, right, goal int, res *[]string) {
- if right == goal {
- *res = append(*res, last)
- return
- }
- if left < goal {
- generateParenthesisIter(last+"(", left+1, right, goal, res)
- }
- if right < left {
- generateParenthesisIter(last+")", left, right+1, goal, res)
- }
- }
- func generateParenthesis(n int) []string {
- res := &[]string{}
- generateParenthesisIter("", 0, 0, n, res)
- return *res
- }
- /* func main() {
- fmt.Println(generateParenthesis(3))
- } */
|