117. Populating Next Right Pointers in Each Node II

来源:互联网 发布:php网页视频直播源码 编辑:程序博客网 时间:2024/05/18 18:42
/** * Definition for binary tree with next pointer. * struct TreeLinkNode { *  int val; *  TreeLinkNode *left, *right, *next; *  TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {} * }; */class Solution {public:    void connect(TreeLinkNode *root) {        queue<TreeLinkNode*> q;        if(!root)            return;        TreeLinkNode *pre=NULL;        q.push(root);        while(!q.empty())        {            int n=q.size();            pre=NULL;            for(int i=0;i<n;i++)            {                TreeLinkNode *p=q.front();                q.pop();                if(pre==NULL)                    pre=p;                else                 {                    pre->next=p;                    pre=p;                }                if(p->left)                    q.push(p->left);                if(p->right)                    q.push(p->right);            }        }    }};
0 0