Leetcode 116

/**
 * 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) {
        if(root == NULL) return;
        queue<TreeLinkNode *> que;
        que.push(root);
        while(!empty(que)){
            int lens = que.size();
            for(int i=0;i < lens-1;i++){
                TreeLinkNode *temp = que.front();
                que.pop();
                temp->next = que.front();
                if(temp->left) que.push(temp->left);
                if(temp->right) que.push(temp->right);
            }
            TreeLinkNode *temp2 = que.front();
            temp2->next = NULL;
            que.pop();
            if(temp2->left) que.push(temp2->left);
            if(temp2->right) que.push(temp2->right);
        }
    }
};

_

猜你喜欢

转载自www.cnblogs.com/cunyusup/p/10353518.html
116