void connect(TreeLinkNode *root) { if(!root) return; queue<TreeLinkNode*> myQueue; myQueue.push(root); myQueue.push(NULL); while(!myQueue.empty()){ TreeLinkNode* node = myQueue.front(); myQueue.pop(); if(node){ TreeLinkNode* n = myQueue.front(); node->next = n; if(node->left) myQueue.push(node->left); if(node->right) myQueue.push(node->right); } else if(!myQueue.empty()) myQueue.push(NULL); } }