📅 最后修改于: 2023-12-03 15:06:34.340000 🧑 作者: Mango
二叉树是一种常见的数据结构,它由节点和边构成。每个节点最多只有两个子节点,称为左子节点和右子节点。叶节点则是没有子节点的节点。在这里,我们要求从右到左打印二叉树的所有叶节点。
从右到左打印二叉树的所有叶节点,可以使用深度优先搜索(Depth-First-Search,DFS)算法。具体实现如下:
leaves
存储所有叶节点。leaves
中;否则,如果存在左子节点,则对其进行递归调用;如果存在右子节点,则对其进行递归调用。leaves
列表,其中存储了所有叶节点。时间复杂度:$O(n)$,其中 $n$ 是二叉树的节点数。
空间复杂度:$O(h)$,其中 $h$ 是二叉树的高度。在最坏情况下,二叉树退化为链表,此时 $h=n$,空间复杂度为 $O(n)$。在最好情况下,二叉树平衡,此时 $h=\log{n}$,空间复杂度为 $O(\log{n})$。