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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP