Golang 程序采用后序遍历方式(递归)遍历给定的树。


示例

假设我们有以下二叉树。

后序树遍历输出 − 2 4 5 3 6 7 1。

解决该问题的思路

步骤 1 − 如果给定树的根节点为 nil,则返回;否则,按照下面的步骤进行操作。

步骤 2 − 遍历左子树。

步骤 3 − 遍历右子树。

步骤 4 − 打印根节点数据。

示例

 在线演示

package main
import "fmt"
type Node struct {
   data int
   left *Node
   right *Node
}
func (root *Node)PostOrderTraversal(){
   if root !=nil{
      root.left.PostOrderTraversal()
      root.right.PostOrderTraversal()
      fmt.Printf("%d ", root.data)
   }
   return
}
func main(){
   tree := Node{1, &Node{2, &Node{4, nil, nil}, &Node{5, nil, nil}}, &Node{3, &Node{6, nil, nil}, &Node{7, nil, nil}}}
   fmt.Printf("Post Order Traversal of the given tree is: ")
   tree.PostOrderTraversal()
}

输出

Post Order Traversal of the given tree is: 4 5 2 6 7 3 1

更新于: 18-Mar-2021

260 次浏览

开启你的 事业

完成课程后获得认证

开始
广告