mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 06:07:20 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			830 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			830 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// File: binary_tree_dfs.go
 | 
						|
// Created Time: 2022-11-26
 | 
						|
// Author: Reanon (793584285@qq.com)
 | 
						|
 | 
						|
package chapter_tree
 | 
						|
 | 
						|
import (
 | 
						|
	. "github.com/krahets/hello-algo/pkg"
 | 
						|
)
 | 
						|
 | 
						|
var nums []any
 | 
						|
 | 
						|
/* 前序遍历 */
 | 
						|
func preOrder(node *TreeNode) {
 | 
						|
	if node == nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	// 访问优先级:根节点 -> 左子树 -> 右子树
 | 
						|
	nums = append(nums, node.Val)
 | 
						|
	preOrder(node.Left)
 | 
						|
	preOrder(node.Right)
 | 
						|
}
 | 
						|
 | 
						|
/* 中序遍历 */
 | 
						|
func inOrder(node *TreeNode) {
 | 
						|
	if node == nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	// 访问优先级:左子树 -> 根节点 -> 右子树
 | 
						|
	inOrder(node.Left)
 | 
						|
	nums = append(nums, node.Val)
 | 
						|
	inOrder(node.Right)
 | 
						|
}
 | 
						|
 | 
						|
/* 后序遍历 */
 | 
						|
func postOrder(node *TreeNode) {
 | 
						|
	if node == nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	// 访问优先级:左子树 -> 右子树 -> 根节点
 | 
						|
	postOrder(node.Left)
 | 
						|
	postOrder(node.Right)
 | 
						|
	nums = append(nums, node.Val)
 | 
						|
}
 |