题目描述
解题思路
class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> res = new LinkedList<>();
Queue<TreeNode> queue = new LinkedList<>();
if (root != null) queue.offer(root);
int level = 1;
while (!queue.isEmpty()) {
LinkedList<Integer> temp = new LinkedList<>();
int size = queue.size();
for (int i = 0; i < size; i++) {
TreeNode currNode = queue.poll();
if ((level & 0x01) == 1) {
temp.addLast(currNode.val);
} else {
temp.addFirst(currNode.val);
}
if (currNode.left != null) queue.offer(currNode.left);
if (currNode.right != null) queue.offer(currNode.right);
}
level++;
res.add(temp);
}
return res;
}
}