Leetcode 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] ]
1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * public int val; 5 * public TreeNode left; 6 * public TreeNode right; 7 * public TreeNode(int x) { val = x; } 8 * } 9 */ 10 public class Solution { 11 public IList<IList<int>> LevelOrder(TreeNode root) { 12 var result = new List<IList<int>>(); 13 14 if (root == null) return result; 15 16 var q = new Queue<TreeNode>(); 17 q.Enqueue(root); 18 var count = q.Count; 19 20 while (q.Count > 0) 21 { 22 var r = new List<int>(); 23 24 for (int i = 0; i < count; i++) 25 { 26 var t = q.Dequeue(); 27 r.Add(t.val); 28 if (t.left != null) q.Enqueue(t.left); 29 if (t.right != null) q.Enqueue(t.right); 30 } 31 32 result.Add(r); 33 count = q.Count; 34 } 35 36 return result; 37 } 38 }

浙公网安备 33010602011771号