From bbd1b2e9ca58ae177f3d656752cd01a2ee15f7a2 Mon Sep 17 00:00:00 2001 From: ironartisan Date: Fri, 3 Sep 2021 17:19:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A00102.=E4=BA=8C=E5=8F=89?= =?UTF-8?q?=E6=A0=91=E7=9A=84=E5=B1=82=E5=BA=8F=E9=81=8D=E5=8E=86=E9=80=92?= =?UTF-8?q?=E5=BD=92=E8=A7=A3=E6=B3=95Python=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0102.二叉树的层序遍历.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/problems/0102.二叉树的层序遍历.md b/problems/0102.二叉树的层序遍历.md index a57a92aa..baec1229 100644 --- a/problems/0102.二叉树的层序遍历.md +++ b/problems/0102.二叉树的层序遍历.md @@ -88,6 +88,7 @@ public: python代码: ```python +# 迭代法 class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: if not root: @@ -108,7 +109,20 @@ class Solution: return out_list ``` - +```python +# 递归法 +class Solution: + def levelOrder(self, root: TreeNode) -> List[List[int]]: + res = [] + def helper(root, depth): + if not root: return [] + if len(res) == depth: res.append([]) # start the current depth + res[depth].append(root.val) # fulfil the current depth + if root.left: helper(root.left, depth + 1) # process child nodes for the next depth + if root.right: helper(root.right, depth + 1) + helper(root, 0) + return res +``` java: ```Java