hello-algo/codes/go/chapter_backtracking/preorder_traversal_ii_compact.go

27 lines
576 B
Go
Raw Normal View History

2023-07-26 03:15:49 +08:00
// File: preorder_traversal_ii_compact.go
// Created Time: 2023-05-09
// Author: Reanon (793584285@qq.com)
package chapter_backtracking
import (
. "github.com/krahets/hello-algo/pkg"
)
/* 前序遍历:例题二 */
func preOrderII(root *TreeNode, res *[][]*TreeNode, path *[]*TreeNode) {
if root == nil {
return
}
// 尝试
*path = append(*path, root)
if root.Val.(int) == 7 {
// 记录解
*res = append(*res, append([]*TreeNode{}, *path...))
}
preOrderII(root.Left, res, path)
preOrderII(root.Right, res, path)
// 回退
*path = (*path)[:len(*path)-1]
}