题目描述:
解题思路:
这题和前面一题的思路大体不变,也是通过广度优先搜索去解决,使用队不断把下一层的元素加进去,再把索引值保存起来。不同的是,这题是要把每一层的元素作为一个集合保存起来。那我们可以定义一个辅助集合,用来保存每一层的元素。当上一层元素加进来,通过for循环,把上层的元素的子节点加入到辅助集合,然后把它的子节点加进队里。每层元素遍历完了,就把辅助集合添加到最终返回的list集合。
代码实现:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public List<List