199. 二叉树的右视图
题目链接:
题目描述
示例 1:
输入: [1,2,3,null,5,null,4]
输出: [1,3,4]
示例 2:
输入: [1,null,3]
输出: [1,3]
示例 3:
输入: []
输出: []
题解
思路:用层次遍历(
代码(C++):
vector<int> rightSideView(TreeNode* root) { queue<TreeNode*> que; vector<int> result; if (root != nullptr) que.push(root); while (!que.empty()) { int size = que.size(); TreeNode* node; while (size--) { node = que.front(); que.pop(); if (node->left != nullptr) que.push(node->left); if (node->right != nullptr) que.push(node->right); } //将每一层的最后一个元素放入结果集 result.push_back(node->val); } return result; }
分析:
-
时间复杂度:O(N)
-