博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Binary Tree Right Side View 二叉树的右侧视图
阅读量:6094 次
发布时间:2019-06-20

本文共 1353 字,大约阅读时间需要 4 分钟。

Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

For example:

Given the following binary tree,

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

You should return [1, 3, 4].

Credits:

Special thanks to  for adding this problem and creating all test cases.

这道题要求我们打印出二叉树每一行最右边的一个数字,实际上是求二叉树层序遍历的一种变形,我们只需要保存每一层最右边的数字即可,可以参考我之前的博客,这道题只要在之前那道题上稍加修改即可得到结果,还是需要用到数据结构队列queue,遍历每层的节点时,把下一层的节点都存入到queue中,每当开始新一层节点的遍历之前,先把新一层最后一个节点值存到结果中,代码如下:

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector
rightSideView(TreeNode *root) { vector
res; if (!root) return res; queue
q; q.push(root); while (!q.empty()) { res.push_back(q.back()->val); int size = q.size(); for (int i = 0; i < size; ++i) { TreeNode *node = q.front(); q.pop(); if (node->left) q.push(node->left); if (node->right) q.push(node->right); } } return res; }};

本文转自博客园Grandyang的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
腰围2尺1,2,3,4,5,6,7,8寸各自等于是多少厘米/英寸(对比表)
查看>>
kFreeBsd 国内开源镜像站汇总
查看>>
用PYTHON实现将电脑里的所有文件按大小排序,便于清理
查看>>
网页动态切换母版页(MasterPage)
查看>>
几种常见模式识别算法整理和总结
查看>>
iOS开发UI篇—Quartz2D使用(矩阵操作)
查看>>
设计模式初学者笔记:Abstract Factory模式
查看>>
Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
查看>>
推荐一个内容滚动jquery插件
查看>>
淘宝的几个架构图
查看>>
Warning: Divide by zero.
查看>>
[Android Studio] Android Studio移除的Module如何恢复(转载)
查看>>
蝶若双生,花便盛开
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>
充分利用HTML标签元素 – 简单的xtyle前端框架
查看>>
设计模式(十一):FACADE外观模式 -- 结构型模式
查看>>
iOS xcodebuile 自动编译打包ipa
查看>>
程序员眼中的 SQL Server-执行计划教会我如何创建索引?
查看>>
【BZOJ】1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路(floyd)
查看>>