2020.10.19
原题:点击此处
题解:
用队列逐个进行扫描。
时间复杂度:O(n)
空间复杂度:O(n)
接下来的一段时间要准备C++的一个比赛,因此以后的代码采用C++的形式;
class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
vector<vector<int>> ret;
if(!root){
return ret;
}
queue<TreeNode*> q;
q.push(root);
while(!q.empty()){
int currentLevelSize = q.size();
ret.push_back(vector<int>());
for(int i =1;i<= currentLevelSize;++i){
auto node = q.front();
q.pop();
ret.back().push_back(node->val);
if(node->left){
q.push(node->left);
}
if(node->right){
q.push(node->right);
}
}
}
return ret;
}
};