题目链接
英文链接:https://leetcode.com/problems/binary-tree-level-order-traversal-ii/
中文链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
题目详述
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
例如:
给定二叉树 [3,9,20,null,null,15,7]
,
1 | 3 |
返回其自底向上的层次遍历为:
1 | [ |
题目详解
层次遍历的思路与 LeetCode102-二叉树的层次遍历 是一致的,只不过把层次遍历的顺序由上到下改为了自底向上。在原来层次遍历的基础上,有两种解决方法:
- 添加一整层的值时从头添加。
- 直接反转层次遍历的结果链表。
方法一:添加一整层的值时运用 LinkedList 的 addFirst 方法从头添加。
1 | public class LeetCode_00107 { |
方法二:直接反转层次遍历的结果链表。
迭代版:
1 | public class LeetCode_00107 { |
递归版:
1 | public class LeetCode_00107 { |