主页 > 其他  > 

【力扣】199.二叉树的右视图

【力扣】199.二叉树的右视图
AC截图

题目

思路

这道题是层序遍历的变种,还是维护一个cnt变量用于记录一层的容量,在cnt==1时,是该层最右边的结点,将其值加入结果vector中即可。

代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: vector<int> rightSideView(TreeNode* root) { vector<int> res; if(root==NULL){ return res; } deque<TreeNode*> dq; dq.push_back(root); while(!dq.empty()){ int cnt = dq.size(); while(cnt>0){ TreeNode* node = dq.front(); dq.pop_front(); if(node->left!=NULL){ dq.push_back(node->left); } if(node->right!=NULL){ dq.push_back(node->right); } if(cnt==1){ res.push_back(node->val); } cnt--; } } return res; } };

标签:

【力扣】199.二叉树的右视图由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【力扣】199.二叉树的右视图