首页 > 其他 > 详细

LeetCode_199.二叉树的右视图

时间:2021-01-07 09:02:26      阅读:20      评论:0      收藏:0      [点我收藏+]

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例:

输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:

   1            <---
 /   2     3         <---
 \       5     4       <---

C#代码

/**
 * 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) {
        IList<int> list = new List<int>();
        if (root == null) return list;

        Queue<TreeNode> treeNodes = new Queue<TreeNode>();
        treeNodes.Enqueue(root);
        while (treeNodes.Count > 0)
        {
            int count = treeNodes.Count;
            while (count-- > 0)
            {
                TreeNode treeNode = treeNodes.Dequeue();
                if (treeNode.left != null) treeNodes.Enqueue(treeNode.left);
                if (treeNode.right != null) treeNodes.Enqueue(treeNode.right);
                if (count == 0) list.Add(treeNode.val);
            }
        }

        return list;
    }
}

LeetCode_199.二叉树的右视图

原文:https://www.cnblogs.com/fuxuyang/p/14244514.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!