通过前序遍历(递归)遍历给定二叉树的 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 浏览量

开启你的 职业生涯

获得认证,完成课程

开始
广告