leetcode199. 二叉树的右视图(层序遍历03)
生活随笔
收集整理的這篇文章主要介紹了
leetcode199. 二叉树的右视图(层序遍历03)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一:題目
二:上碼
/*** 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) {/**思路:1.層序遍歷中我們用的是隊(duì)列2.我們先將頭結(jié)點(diǎn)入隊(duì)(前提是頭結(jié)點(diǎn)不空)3.然后我們定義一個while循環(huán),只要隊(duì)列不空,每次就將隊(duì)列中的元素依次出隊(duì),記錄出隊(duì)的元素然后再將其每個元素的左右節(jié)點(diǎn)入隊(duì)4.回歸本題,我們希望看到的是從右邊看到的元素,那么就是每層的最后一個元素*/queue<TreeNode*>q;vector<int>ans;if(root != NULL) {q.push(root);}while(!q.empty()) {int size = q.size();for(int i = 0; i < size; i++) {TreeNode* nums = q.front();q.pop();if(i == (size-1)) ans.push_back(nums->val);if(nums->left) q.push(nums->left);if(nums->right) q.push(nums->right);}}return ans;} };
如有疑問請留言 一個人可以走的很快 但團(tuán)結(jié)協(xié)作才可以走的更遠(yuǎn)
總結(jié)
以上是生活随笔為你收集整理的leetcode199. 二叉树的右视图(层序遍历03)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肥胖想通过运动减肥,请问有什么办法
- 下一篇: leetcode637. 二叉树的层平均