GO 二叉树 前序排列

2020-05-25  本文已影响0人  Flag丶
package main
import "fmt"

type TreeNode struct {
    Val   int
    Left  *TreeNode
    Right *TreeNode
}

var varList []int
func main() {
    treeNode := TreeNode{Val: 1, Left: &TreeNode{Val: 2, Left: &TreeNode{Val: 4, Right: &TreeNode{Val: 5}}}, Right:&TreeNode{Val: 3}}
    list := preorderTraversal(&treeNode)
}

func preorderTraversal(root *TreeNode) []int {
    val := make([]int, 0)
    if root == nil {
      return val
       }
   pre(root)
   return varList
}

func pre(root *TreeNode) []int {
  if root == nil {
      return varList
  }
  varList = append(varList, root.Val)
  pre(root.Left)
  pre(root.Right)
  return varList
}
上一篇下一篇

猜你喜欢

热点阅读