/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public IList<int> RightSideView(TreeNode root) {
List<int> ret = new List<int>();
if (root == null)
{
return ret;
}
List<TreeNode> list = new List<TreeNode>();
list.Add(root);
while (list.Count > 0)
{
// Get children of all items from the list, and keep record of the last one
List<TreeNode> newlist = new List<TreeNode>();
foreach(TreeNode item in list)
{
if (item.left != null)
{
newlist.Add(item.left);
}
if (item.right != null)
{
newlist.Add(item.right);
}
}
TreeNode last = list[list.Count - 1];
ret.Add(last.val);
list = newlist;
}
return ret;
}
}
Tuesday, August 23, 2016
Leetcode 199. Binary Tree Right Side View
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment