【发布时间】:2020-09-21 08:00:44
【问题描述】:
时间复杂度:O(n) 任何人都可以将时间复杂度解释为数学中的 O(n)。 我可以发现 while 循环是 O(logn)
public:
vector<vector<int>> levelOrder(Node* root) {
if(!root) return vector<vector<int>>{};
queue<Node*> q;
q.push(root);
vector<vector<int>> res;
while(!q.empty()){
//BFS traversal
int size= q.size();
vector<int> level;
for(int i= 0; i< size; i++){
auto tmp= q.front(); q.pop();
level.push_back(tmp->val);
for(auto n: tmp->children)
q.push(n);
}
res.push_back(level);
}
return res;
}
}
【问题讨论】:
标签: graph tree time-complexity binary-tree space-complexity