Java教程

递归 二叉树前序 中序 后序遍历

本文主要是介绍递归 二叉树前序 中序 后序遍历,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

https://leetcode-cn.com/problems/binary-tree-preorder-traversal/

https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

https://leetcode-cn.com/problems/binary-tree-postorder-traversal/

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func inorderTraversal(root *TreeNode) []int {
	if root == nil {
		return nil
	}
	l := []int{}
	l = append(l, inorderTraversal(root.Left)...)
	l = append(l, root.Val)
	l = append(l, inorderTraversal(root.Right)...)
	return l
}

func preorderTraversal(root *TreeNode) []int {
	if root == nil {
		return nil
	}
	l := []int{}
	l = append(l, root.Val)
	l = append(l, preorderTraversal(root.Left)...)
	l = append(l, preorderTraversal(root.Right)...)
	return l
}

func postorderTraversal(root *TreeNode) []int {
	if root == nil {
		return nil
	}
	l := []int{}
	l = append(l, postorderTraversal(root.Left)...)
	l = append(l, postorderTraversal(root.Right)...)
	l = append(l, root.Val)
	return l
}

  

 

这篇关于递归 二叉树前序 中序 后序遍历的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!