每天一道LeetCode-----从右向左观察一棵二叉树,返回能看到的元素
生活随笔
收集整理的这篇文章主要介绍了
每天一道LeetCode-----从右向左观察一棵二叉树,返回能看到的元素
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Binary Tree Right Side View
原题链接Binary Tree Right Side View
从右向左观察一棵二叉树,返回能看到的元素
遍历一遍即可,只记录靠右的元素
代码如下
/*** 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> views;scan(root, 0, views);return views;} private:void scan(TreeNode* root, int h, vector<int>& views){if(!root) return;if(h >= views.size())views.emplace_back(root->val);/* 先遍历右侧,这样就可以先选择右边的元素 */scan(root->right, h + 1, views);scan(root->left, h + 1, views);} };总结
以上是生活随笔为你收集整理的每天一道LeetCode-----从右向左观察一棵二叉树,返回能看到的元素的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: TCP/IP学习笔记(七)四次挥手
- 下一篇: TCP/IP学习笔记(八)复位报文段