上海建站shwzzz,教师做课题可以参考什么网站,冠县哪里有做网站的,wordpress蜜蜂前言 在已知BFS的方式后#xff0c;知道每次从队列中取一个节点#xff0c;就要将这个节点的所有子节点按照顺序放入队列。 难点在于怎么确定将同一层的节点放在一个数组里面的输出#xff0c;也就是输出一个二维数组#xff1f; 解决方法:
每次while循环将队列上轮放入的…前言 在已知BFS的方式后知道每次从队列中取一个节点就要将这个节点的所有子节点按照顺序放入队列。 难点在于怎么确定将同一层的节点放在一个数组里面的输出也就是输出一个二维数组 解决方法:
每次while循环将队列上轮放入的节点全部取出(之前的普通BFS是每次whie循环只取一个节点)。 public ListListInteger levelOrder(TreeNode root) {ListListInteger res new ArrayList();if (root null){return res;}QueueTreeNode queue new LinkedList();queue.add(root);while (!queue.isEmpty()){int size queue.size();ListInteger temp new ArrayList();for (int i 0 ; i size; i ){TreeNode target queue.poll();temp.add(target.val);if (target.left ! null){queue.add(target.left);}if (target.right ! null){queue.add(target.right);}}res.add(temp);}return res;
}