网站短期培训学校,建设工程职称论文查询网站,企业宣传册模版,wifi小程序搭建给你二叉树的根节点 root #xff0c;返回其节点值的 层序遍历 。 #xff08;即逐层地#xff0c;从左到右访问所有节点#xff09;。
示例 1#xff1a;
输入#xff1a;root [3,9,20,null,null,15,7] 输出#xff1a;[[3],[9,20],[15,7]] 示例 2#xff1a;
输入…给你二叉树的根节点 root 返回其节点值的 层序遍历 。 即逐层地从左到右访问所有节点。
示例 1
输入root [3,9,20,null,null,15,7] 输出[[3],[9,20],[15,7]] 示例 2
输入root [1] 输出[[1]] 示例 3
输入root [] 输出[] 提示
树中节点数目在范围 [0, 2000] 内 -1000 Node.val 1000 Related Topics 树 广度优先搜索 二叉树
方法一广度优先遍历
利用队列实现广度优先遍历每次判断队列的长度队列长度就是当前层拥有的节点数目
class Solution {public ListListInteger levelOrder(TreeNode root) {ListListInteger list new ArrayList();if (root null) {return list;}DequeTreeNode deque new LinkedList();deque.offer(root);while (!deque.isEmpty()) {ListInteger subList new ArrayList();int size deque.size();for(int i 0; i size; i) {TreeNode node deque.poll();subList.add(node.val);if (node.left ! null) {deque.offer(node.left);}if (node.right ! null) {deque.offer(node.right);}}list.add(subList);}return list;}
}