首页 > 其他 > 详细

LeetCode - Populating Next Right Pointers in Each Node

时间:2014-11-19 12:13:13      阅读:139      评论:0      收藏:0      [点我收藏+]

题目https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/

对每个节点递归。

 1 /**
 2  * Definition for binary tree with next pointer.
 3  * struct TreeLinkNode {
 4  *  int val;
 5  *  TreeLinkNode *left, *right, *next;
 6  *  TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     void connect(TreeLinkNode *root) {
12         if (root == NULL)
13         {
14             return;
15         }
16         
17         //任一节点的左儿子的next连右儿子
18         if (root->left != NULL)
19         {
20             root->left->next = root->right;
21         }
22         
23         //处理5连6情况
24         //若2的next不为NULL,5连2的next的left
25         if (root->right != NULL)
26         {
27             root->right->next = (root->next == NULL ? NULL : root->next->left);
28         }
29         
30         //递归每个节点
31         connect(root->left);
32         connect(root->right);
33     }
34 };

 

LeetCode - Populating Next Right Pointers in Each Node

原文:http://www.cnblogs.com/bournet/p/4107744.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!