From 4d5ed437ebbe293d3b92e7158df410d3770115ac Mon Sep 17 00:00:00 2001 From: zjd <12321619+realpeanut@users.noreply.github.com> Date: Wed, 12 May 2021 11:40:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=A0=91=E9=80=92=E5=BD=92?= =?UTF-8?q?=E9=81=8D=E5=8E=86=E5=A2=9E=E5=8A=A0golang=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/二叉树的递归遍历.md | 52 ++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/problems/二叉树的递归遍历.md b/problems/二叉树的递归遍历.md index 6c005191..bd3a9e1c 100644 --- a/problems/二叉树的递归遍历.md +++ b/problems/二叉树的递归遍历.md @@ -122,6 +122,58 @@ Python: Go: +前序遍历: +``` +func PreorderTraversal(root *TreeNode) (res []int) { + var traversal func(node *TreeNode) + traversal = func(node *TreeNode) { + if node == nil { + return + } + res = append(res,node.Val) + traversal(node.Left) + traversal(node.Right) + } + traversal(root) + return res +} + +``` +中序遍历: + +``` +func InorderTraversal(root *TreeNode) (res []int) { + var traversal func(node *TreeNode) + traversal = func(node *TreeNode) { + if node == nil { + return + } + traversal(node.Left) + res = append(res,node.Val) + traversal(node.Right) + } + traversal(root) + return res +} +``` +后序遍历: + +``` +func PostorderTraversal(root *TreeNode) (res []int) { + var traversal func(node *TreeNode) + traversal = func(node *TreeNode) { + if node == nil { + return + } + traversal(node.Left) + traversal(node.Right) + res = append(res,node.Val) + } + traversal(root) + return res +} +``` +