博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Leetcode】【Medium】Binary Tree Right Side View
阅读量:5446 次
发布时间:2019-06-15

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

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].

 

解题思路:

这题和上一题很相似,都需要按层遍历二叉树;

不同的是,由于Binary Tree Zigzag Level Order Traversal需要Z型遍历,需要用到“先入后出”的方法,因此用栈stack来实现;

而本题,需要每层由右向左遍历,因此用到“先进先出”,所以使用queue来实现较为方便;

 

需要两个queue,一个保存当前层的结点,另一个保存下一层的结点;

每层结点queue中第一个值,就是最右端值,输出这个值。

代码:

1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     vector
rightSideView(TreeNode* root) {13 vector
ret;14 queue
cur_layer;15 cur_layer.push(root);16 queue
next_layer;17 if (!root)18 return ret;19 20 while (!cur_layer.empty()) {21 ret.push_back(cur_layer.front()->val);22 while (!cur_layer.empty()) {23 TreeNode* node = cur_layer.front();24 cur_layer.pop();25 if (node->right)26 next_layer.push(node->right);27 if (node->left)28 next_layer.push(node->left);29 }30 swap(cur_layer, next_layer);31 }32 33 return ret;34 }35 };

 

转载于:https://www.cnblogs.com/huxiao-tee/p/4521369.html

你可能感兴趣的文章
android DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹的解决办法
查看>>
sql server(常用)
查看>>
大数据项目实践(四)——之Hive配置
查看>>
js 调试接口
查看>>
Thread类源码解读(1)——如何创建和启动线程
查看>>
vue 实现数字滚动增加效果
查看>>
[LeetCode] Convert Sorted List to Binary Search Tree
查看>>
Bootstrap清除浮动的实现原理
查看>>
全球首届APMCon,带你给“应用性能”把把脉
查看>>
用户超5亿,三年投10亿,开发者如何抢滩支付宝小程序蓝海?
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
AVL树 & 重平衡概念
查看>>
NG-ZORRO-MOBILE 0.11.9 发布,基于 Angular 7 的 UI 组件
查看>>
我就是一个救火员(DBA救援)
查看>>
Centos7安装Gitlab10.0
查看>>
Windows Server 笔记(六):Active Directory域服务:域控制器安装
查看>>
FTP传输文件(hcl模拟器的操作)
查看>>
discuz X3登录流程分析
查看>>
javascript事件响应
查看>>
通过script标签实现JSONP跨域调用
查看>>