Leetcode-102、二叉树的层序遍历
题解
Java题解
迭代
class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> res = new ArrayList<>();
Queue<TreeNode> queue = new LinkedList<>();
if (root == null) { // []
return res;
}
queue.offer(root);
while (!queue.isEmpty()) { //
int size = queue.size();
List<Integer> cur = new ArrayList<>();
while (size != 0) {
TreeNode tmp = queue.poll();
cur.add(tmp.val);
if (tmp.left != null) {
queue.offer(tmp.left);
}
if (tmp.right != null) {
queue.offer(tmp.right);
}
size -= 1;
}
res.add(cur);
}
return res;
}
}
结果
image.png
测试数据
容易漏掉
[]