Update 二叉树的递归遍历.md

This commit is contained in:
jianghongcheng
2023-05-03 19:26:39 -05:00
committed by GitHub
parent b2bfb80166
commit dd58553088

View File

@ -174,50 +174,45 @@ class Solution {
Python Python
```python ```python
# 前序遍历-递归-LC144_二叉树的前序遍历 # 前序遍历-递归-LC144_二叉树的前序遍历
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution: class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]: def preorderTraversal(self, root: TreeNode) -> List[int]:
# 保存结果 if not root:
result = [] return []
def traversal(root: TreeNode): left = self.preorderTraversal(root.left)
if root == None: right = self.preorderTraversal(root.right)
return
result.append(root.val) # 前序 return [root.val] + left + right
traversal(root.left) # 左
traversal(root.right) # 右
traversal(root)
return result
# 中序遍历-递归-LC94_二叉树的中序遍历 # 中序遍历-递归-LC94_二叉树的中序遍历
class Solution: class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]: def inorderTraversal(self, root: TreeNode) -> List[int]:
result = [] if root is None:
return []
def traversal(root: TreeNode): left = self.inorderTraversal(root.left)
if root == None: right = self.inorderTraversal(root.right)
return
traversal(root.left) # 左
result.append(root.val) # 中序
traversal(root.right) # 右
traversal(root) return left + [root.val] + right
return result
# 后序遍历-递归-LC145_二叉树的后序遍历 # 后序遍历-递归-LC145_二叉树的后序遍历
class Solution: class Solution:
def postorderTraversal(self, root: TreeNode) -> List[int]: def postorderTraversal(self, root: TreeNode) -> List[int]:
result = [] if not root:
return []
def traversal(root: TreeNode): left = self.postorderTraversal(root.left)
if root == None: right = self.postorderTraversal(root.right)
return
traversal(root.left) # 左
traversal(root.right) # 右
result.append(root.val) # 后序
traversal(root) return left + right + [root.val]
return result
``` ```
Go Go