C++Leetcode199:二叉树的右视图
2019-03-04 13:02
260 查看
题目
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:
思路
1、BFS
实现方法
一、BFS
/** * 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*> q; q.push(root); while(!q.empty()){ int count=q.size(); res.push_back(q.back()->val); //取队列的末尾元素值 while(count>0){ TreeNode* top=q.front(); q.pop(); count--; if(top->left) q.push(top->left); if(top->right) q.push(top->right); } } return res; } };
相关文章推荐
- Leetcode 199 Binary Tree Right Side View 二叉树右视图
- Leetcode 199 Binary Tree Right Side View 二叉树右视图
- leetcode199_二叉树的右视图
- LeetCode199. 二叉树的右视图
- 利用python 完成 leetcode 199 二叉树的右视图
- Leetcode 199. 二叉树的右视图
- [C++]LeetCode: 102 Flatten Binary Tree to Linked List (二叉树转前序链表)
- 【LeetCode】199. Binary Tree Right Side View-二叉树右视图结点
- LeetCode:二叉树减枝(C++)
- 【LeetCode-面试算法经典-Java实现】【199-Binary Tree Right Side View(从右边看二叉树)】
- [C++]LeetCode: 124 Populating Next Right Pointers in Each Node II(链接二叉树)
- leetcode_c++:树: Binary Tree Right Side View(199)
- leetcode:654最大二叉树(C++)
- [LeetCode] Flatten Binary Tree to Linked List 将二叉树展开成链表 C++
- [LeetCode系列] 二叉树最大深度求解问题(C++递归解法)
- leetcode笔试题二叉树的前序、中序、后序遍历的递归和循环c++实现
- [LeetCode] Binary Tree Right Side View 二叉树的右侧视图
- 199.leetcode Binary Tree Right Side View(medium)[层次遍历二叉树 队列]
- [LeetCode] 199. Binary Tree Right Side View 二叉树的右侧视图
- 【LeetCode-面试算法经典-Java实现】【199-Binary Tree Right Side View(从右边看二叉树)】