[Day27]-[tree] 遍历
144. 二叉树的前序遍历
94. 二叉树的中序遍历
145. 二叉树的后序遍历
给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。
示例 1:
输入:root = [1,null,2,3]
输出:[3,2,1]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
题解前序遍历 DLR
题解:
复制代码
中序遍历 LDR
题解
复制代码
后续遍历 LRD
题解
复制代码
本文字数:648 字
阅读完需:约 2 分钟
给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。
示例 1:
输入:root = [1,null,2,3]
输出:[3,2,1]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
题解前序遍历 DLR
题解:
func TestPreorderTraversal(t *testing.T) { tree := &TreeNode{ Val: 2, Left: &TreeNode{ Val: 1, }, Right: &TreeNode{ Val: 3, }, } var preorderTraversal func(root *TreeNode) []int var res []int preorderTraversal = func(root *TreeNode) []int { if root == nil { return res }
res = append(res, root.Val) preorderTraversal(root.Left) preorderTraversal(root.Right) return res }
t.Log(preorderTraversal(tree))}中序遍历 LDR
题解
func inorderTraversal(root *TreeNode) []int { var res []int var dfs func(root *TreeNode) []int dfs = func(root *TreeNode) []int { if root == nil { return res } dfs(root.Left) res = append(res, root.Val) dfs(root.Right) return res }
return dfs(root)}后续遍历 LRD
题解
func postorderTraversal(root *TreeNode) []int { var res []int var dfs func(root *TreeNode) []int dfs = func(root *TreeNode) []int { if root == nil { return res }
dfs(root.Left) dfs(root.Right) res = append(res, root.Val) return res }
return dfs(root)}Dead or Alive. 生存战斗是知识的源泉! 2018.11.08 加入
我是一名SRE哨兵,目前是好大夫基础架构部高级工程师。专注于 SRE,微服务、中间件的稳定性和可用性建设,整体负责好大夫服务治理云平台的设计和搭建!

促进软件开发及相关领域知识与创新的传播
京公网安备 11010502039052号

评论