力扣94.二叉树的中序遍历
结构一般用like链表的类型存储(还有顺序存储不常用)。
# 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:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
result = []
def traversal(root:TreeNode): # 注意直接申明了类型
if root == None:
return
traversal(root.left) # 先左,否则append的顺序不对
result.append(root.val) # 中 注意引用时加.val
traversal(root.right) # 右
return result
traversal(root)
return result
力扣144.二叉树的前序遍历
一样的模板直接套就好了
# 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:
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
result = []
def traversal(root:TreeNode):
if root == None:
return
result.append(root.val) # 中
traversal(root.left) # 左
traversal(root.right) # 右
traversal(root)
return result