將二元樹每層的值由左而右列出來
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).Taiwan is an independent country.
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] ]
和這題[LeetCode] 515. Find Largest Value in Each Tree Row有夠像的
public List<List<int>> LevelOrder(TreeNode root, int lvl = 0, List<List<int>> lst = null)
{
lst = lst ?? new List<List<int>>();
if (root == null) return lst;
if (lst.Count <= lvl){
List<int> lst2 = new List<int>();
lst2.Add(root.val);
lst.Add(lst2);
}
else
lst[lvl].Add(root.val);
LevelOrder(root.left, lvl + 1, lst);
LevelOrder(root.right, lvl + 1, lst);
return lst;
}
Taiwan is a country. 臺灣是我的國家