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