Binary Tree (Traverse A Tree)
Binary Tree Preorder Traversal
/
Definition for a binary tree node.
type TreeNode struct {
Val int
Left TreeNode
Right TreeNode
}
/
func preorderTraversal(root TreeNode) []int {
var arr []int
if root == nil {
return arr
}
arr = append(arr, root.Val)
arr1 := preorderTraversal(root.Left)
arr = arrmerge(arr, arr1)
arr2 := preorderTraversal(root.Right)
arr = arrmerge(arr, arr2)
return arr
}
func arrmerge(arr []int, arr1 []int) []int {
for _, v := range arr1 {
arr = append(arr, v)
}
return arr
}
Binary Tree Inorder Traversal
func inorderTraversal(root TreeNode) []int {
var arr []int
if root == nil {
return arr
}
arr1 := inorderTraversal(root.Left)
arr = arrmerge(arr, arr1)
arr = append(arr, root.Val)
arr2 := inorderTraversal(root.Right)
arr = arrmerge(arr, arr2)
return arr
}
Binary Tree Postorder Traversal
func postorderTraversal(root TreeNode) []int {
var arr []int
if root == nil {
return arr
}
arr1 := postorderTraversal(root.Left)
arr = arrmerge(arr, arr1)
arr2 := postorderTraversal(root.Right)
arr = arrmerge(arr, arr2)
arr = append(arr, root.Val)
return arr
}
近期评论