Grokking the Coding Interview: Patterns for Coding Questions
Ask Author
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