题目描述:
思路: 广度优先搜索,使用队列,存储二叉树每一层所有节点,出队的节点的next指针指向对顶的节点。
class Solution {
public:
Node* connect(Node* root) {
if(root==NULL) return nullptr;
queue<Node*>q;
q.push(root);
while(!q.empty()){
int size=q.size();
for(int i=0;i<size;i++){
Node *temp=q.front();
q.pop();
if(i<size-1){
temp->next=q.front();
}
if(temp->left!=NULL) q.push(temp->left);
if(temp->right!=NULL) q.push(temp->right);
}
}
return root;
}
};