透過前序遍歷(遞迴)遍歷給定二叉樹的 Golang 程式


示例

假設我們有以下二叉樹。

前序樹遍歷輸出: 1、2、4、5、3、6、7。

解決此問題的步驟

步驟 1 −如果給定樹的根節點為 nil,則返回;否則,請按照以下步驟進行操作。

步驟 2 −列印根節點資料。

步驟 3 −遍歷左子樹。

步驟 4 −遍歷右子樹。

示例

 線上演示

package main
import "fmt"
type Node struct {
   data int
   left *Node
   right *Node
}
func (root *Node)PreOrderTraversal(){
   if root !=nil{
      fmt.Printf("%d ", root.data)
      root.left.PreOrderTraversal()
      root.right.PreOrderTraversal()
   }
   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("Pre Order Traversal of the given tree is: ")
   tree.PreOrderTraversal()
}

輸出

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

更新於:18-Mar-2021

608 瀏覽量

開啟你的 職業生涯

獲得認證,完成課程

開始
廣告
© . All rights reserved.