Back to course home
0% completed
Vote For New Content
Could a soultion with additional queue be accepted at google interview?
lejafilip
Aug 24, 2024
{ std::queue<TreeNode*> nodes; nodes.push(root); while(!nodes.empty()) { std::queue<TreeNode*> nodesInLevel; // <- this one auto level = nodes.size(); for(auto i = 0; i < level; ++i) { auto node = nodes.front(); nodes.pop(); nodesInLevel.push(node); if(node->left) nodes.push(node->left); if(node->right) nodes.push(node->right); } while(!nodesInLevel.empty()) { auto prev = nodesInLevel.front(); nodesInLevel.pop(); if(!nodesInLevel.empty()) { auto curr = nodesInLevel.front(); prev->next = curr; } } } return root; } //It still has generally O(n) space complexity but simplified from O(n/2 + n/4), not from O(n/2)
0
0
Comments
Comments
On this page