199. 二叉树的右视图
最近更新:2025-03-30 | 字数总计:138 | 阅读估时:1分钟 | 阅读量:次
- 解析
- 层次遍历
Problem: 199. 二叉树的右视图
解析
层次遍历
使用队列进行层次遍历,每次取队列最后一个元素。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| class Solution { public: vector<int> rightSideView(TreeNode *root) { if(root==nullptr){ return {}; } vector<int> res; queue<TreeNode *> myQueue; TreeNode *node;
myQueue.emplace(root); while (!myQueue.empty()) { int levelSize = myQueue.size(); for (int i = 0; i < levelSize - 1; ++i) { node = myQueue.front(); myQueue.pop(); if (node->left != nullptr) { myQueue.emplace(node->left); } if (node->right != nullptr) { myQueue.emplace(node->right); } } node = myQueue.front(); res.emplace_back(node->val); if (node->left != nullptr) { myQueue.emplace(node->left); } if (node->right != nullptr) { myQueue.emplace(node->right); } myQueue.pop(); } return res; } };
|