## Saturday, December 29, 2012

### [LeetCode] Populating Next Right Pointers in Each Node 解题报告

Given a binary tree
```    struct TreeLinkNode {
}
```
Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set to`NULL`.
Initially, all next pointers are set to `NULL`.
Note:
• You may only use constant extra space.
• You may assume that it is a perfect binary tree (ie, all leaves are at the same level, and every parent has two children).
For example,
Given the following perfect binary tree,
```         1
/  \
2    3
/ \  / \
4  5  6  7
```
After calling your function, the tree should look like:
```         1 -> NULL
/  \
2 -> 3 -> NULL
/ \  / \
4->5->6->7 -> NULL
```
» Solve this problem

[解题报告]

[Code]
``````1:   void connect(TreeLinkNode *root) {
2:      // Start typing your C/C++ solution below
3:      // DO NOT write int main() function
4:      if(root == NULL) return;
5:      if(root->left != NULL)
6:        root->left->next = root->right;
7:      if(root->right !=NULL)
8:        root->right->next = root->next? root->next->left:NULL;
9:       connect(root->left);
10:       connect(root->right);
11:    }
``````