使用递归函数来实现遍历树形结构,将树形结构看作一个节点,子节点看作当前节点的子结构,然后向下递归遍历所有子节点。
示例代码:
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: TreeNode) -> List[int]: """先序遍历,根节点 -> 左子树 -> 右子树""" res = [] self.preorder(root, res) return res
def preorder(self, root: TreeNode, res: List[int]):
if not root:
return
res.append(root.val)
self.preorder(root.left, res)
self.preorder(root.right, res)
调用preorderTraversal(root),其中root为树的根节点,返回的就是先序遍历的结果。
上一篇:遍历树项的所有子项