题目描述:

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

示例:

分析:

题目说人话就是从最顶层开始,获得每一层最右边的结点,插入到vector中,返回该vector。

采取广度优先的方法遍历每一层的所有结点,找到最后一个结点后放入vector中,直到最后一层。

源码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:vector<int> rightSideView(TreeNode* root) {vector<int> res;if(!root)return res;queue<TreeNode*> nodeQueue;queue<int> depthQueue;nodeQueue.push(root);depthQueue.push(0);int max_depth = 0;while(!nodeQueue.empty()){TreeNode* node = nodeQueue.front();nodeQueue.pop();int depth = depthQueue.front();depthQueue.pop();//更新当前所遍历到的层数max_depth = max(max_depth,depth);if(node->left){;nodeQueue.push(node->left);depthQueue.push(depth+1);}if(node->right){nodeQueue.push(node->right);depthQueue.push(depth+1);}//判断是否为最右边if( depthQueue.front() == max_depth+1 || depthQueue.empty())res.push_back(node->val);}return res;}
};

结果:

LeetCode.199 二叉树的左视图相关推荐

  1. Leetcode 199.二叉树的右视图

    Time: 20190903 Type: Medium 题目描述 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,null,5 ...

  2. LeetCode 199. 二叉树的右视图(DFS 按层queue)

    文章目录 1. 题目 2. 解题 2.1 DFS 2.2 queue按层从右边遍历 1. 题目 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例:输入: ...

  3. Leetcode 199.二叉树的右视图 (每日一题 20210628 同类型题)

    给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值.示例:输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释:1 <--- ...

  4. LeetCode 199. 二叉树的右视图(DFS)(特殊的递归)

    题目描述 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 思路 详见链接 代码 class TreeNode:def __init__(self,x):se ...

  5. Leetcode 199. 二叉树的右视图 解题思路及C++实现

    解题思路: 使用层序遍历,得到每一层的最后边的节点,然后push_back到结果容器中. 通过使用q.size()函数,只需要一个队列即可实现层序遍历. /*** Definition for a b ...

  6. 【leetcode】二叉树与经典问题

    文章目录 笔记 leetcode [114. 二叉树展开为链表](https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list ...

  7. 199. 二叉树的右视图

    199. 二叉树的右视图: 题目链接 :199. 二叉树的右视图 题目: 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值 思路: BFS( ...

  8. LeetCode-笔记-199. 二叉树的右视图——BFS广度优先搜索

    LeetCode-笔记-199. 二叉树的右视图 199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,n ...

  9. LeetCode:二叉树相关应用

    LeetCode:二叉树相关应用 基础知识 617.归并两个二叉树 题目 Given two binary trees and imagine that when you put one of the ...

最新文章

  1. python中time()时间的相关问题
  2. 一次分表踩坑实践的探讨
  3. 手把手带你掌握计算机视觉原始论文细节阅读
  4. TensorFlow实战-AlexNet
  5. ext 浅谈类的实例
  6. javaone_代理的JavaOne 2014观察
  7. 2018数学建模A题的简单指导
  8. 学java要背的单词_学习JAVA必背的8类常用单词
  9. JAVA对接支付宝支付(超详细,一看就懂)
  10. 在应用程序中加一个控制台
  11. 一个程序员的成长的六个阶段(转帖)
  12. 【MySQL】MySQL开启general_log报错ERROR 29 (HY000) not found (OS errno 13 - Permission denied)
  13. thymeleaf比较符号问题
  14. 量化策略回测TRIXKDJ
  15. 蓝牙5.0芯片NRF52840详细参数介绍
  16. 计算机图形学:光线追踪原理(ray tracing)
  17. 服务器换完主板后无盘进不了系统,NF主板集成网卡无盘无法启动的解决方案
  18. 创业者需要了解的基本财务知识
  19. 软件架构——系统分析员、系统架构师、项目经理的区别
  20. uniapp 在线升级(热更新)及java后台

热门文章

  1. 信息系统项目管理师复习方法学习计划
  2. Apache-WebLogic plub-in插件的安装
  3. 屏蔽csdn百度推广广告
  4. 谷歌浏览器突然不能翻译了怎么解决?无法翻译此网页的解决方法
  5. 找不到sct文件解决方法:Could not open scatter descript
  6. 国外也有“天价流量账单” 看看都什么情况?
  7. 读懂K线,就能理解期货股票交易中人性的期望、猜疑、幻想、贪婪、恐惧...
  8. 计算机房温湿度,数据中心机房标准的温湿度范围
  9. 怎样清理苹果手机内存空间_手机资讯:苹果iPhone如何拒绝骚扰短信清理短信教程...
  10. openfiler修改ip的命令_openfiler模拟ISCSI设备的配置