Populating Next Right Pointers in Each Node

问题:将二叉树的所有结点指向他的右边的一个结点
分析:对于每一个结点来说,其操作都是一样的,除了他的左儿子指向右儿子外,其左儿子的全部右后辈均指向其右儿子的全部左后辈

/**

 * 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 ;

        TreeLinkNode *left,*right;

        left=root->left,right=root->right;

        while(left && right)

        {

            left->next=right;

            left=left->right;

            right=right->left;

        }

        connect(root->left);

        connect(root->right);

    }

};

  

你可能感兴趣的:(right)