本文主要是介绍LeetCode刷题笔记第145题:二叉树的后序遍历,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LeetCode刷题笔记第145题:二叉树的后序遍历
题目:
给定一棵二叉树的根节点 root ,返回其节点值的后序遍历 。
想法:
后序遍历的是通过对树经过“左右根”的顺序进行遍历。使用递归的方式,先遍历左子树,再遍历右子树,最后遍历根,完成对二叉树的后序遍历。
# 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 postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:res = list()def postorder(root: TreeNode):if not root:returnpostorder(root.left)postorder(root.right)res.append(root.val)postorder(root)return res
使用递归的方式完成二叉树的后续遍历:
时间复杂度:O(n)
空间复杂度:O(n)
这篇关于LeetCode刷题笔记第145题:二叉树的后序遍历的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!