leetcode144. 二叉树的前序遍历
leetcode94. 二叉树的中序遍历
leetcode145. 二叉树的后序遍历
思路
这里前中后序遍历,其实指的就是中间节点的遍历顺序
前序遍历:中左右
中序遍历:左中右
后序遍历:左右中
self.result.append(root.val) # 放第一行就是前序遍历,2中,3后
self.find(root.left)
self.find(root.right)
代码
前序遍历
class Solution:def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:self.result = []if not root:return []self.find(root)return self.resultdef find(self,root):if not root:return 0self.result.append(root.val)self.find(root.left)self.find(root.right)return 1
中序遍历
class Solution:def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:self.result = []if not root:return []self.find(root)return self.resultdef find(self,root):if not root:return 0self.find(root.left)self.result.append(root.val)self.find(root.right)return 1
后序遍历
class Solution:def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:self.result = []if not root:return []self.find(root)return self.resultdef find(self,root):if not root:return 0self.find(root.left)self.find(root.right)self.result.append(root.val)return 1