Binary Tree Level Order Traversal

LeetCode Q 102 - Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).

For example:
Given binary tree [3,9,20,null,null,15,7],
3
/
9 20
/
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]

Solution :

Code:

public List<List<Integer>> levelOrder(TreeNode root) {
	List<List<Integer>> res = new ArrayList<>();
	if (root == null) return res;
	Queue<TreeNode> que = new LinkedList<>();
	que.offer(root);
	while(!que.isEmpty()) {
		int size = que.size();
		List<Integer> temp = new ArrayList<>();
		for (int i = 0; i < size; i++) {
			TreeNode node = que.poll();
			temp.add(node.val);
			if (node.left != null) que.offer(node.left);
			if (node.right != null) que.offer(node.right);
		}
		res.add(temp);
	}
	return res;
}

   Reprint policy


《Binary Tree Level Order Traversal》 by Tong Shi is licensed under a Creative Commons Attribution 4.0 International License
  TOC