设为首页 加入收藏

TOP

[LeetCode]Populating Next Right Pointers in Each Node II
2014-11-23 21:46:33 来源: 作者: 【 】 浏览:8
Tags:LeetCode Populating Next Right Pointers 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) {  
        // Start typing your C/C++ solution below  
        // DO NOT write int main() function  
        if(root == NULL) return ;  
        root->next = NULL;  
        TreeLinkNode* prevHead = root;  
        while(true)  
        {  
            TreeLinkNode* cur = prevHead;  
            TreeLinkNode* prev = NULL;  
            while(cur != NULL)  
            {  
                if(cur->left != NULL)  
                {  
                    if(prev != NULL) prev->next = cur->left, prev = prev->next;  
                    else prev = cur->left, prevHead = prev;  
                }  
                if(cur->right != NULL)  
                {  
                    if(prev != NULL) prev->next = cur->right, prev = prev->next;  
                    else prev = cur->right, prevHead = prev;  
                }  
                cur = cur->next;  
            }  
            if(prev != NULL) prev->next = NULL;  
            else break;  
        }  
    }  
};  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU 1506 Largest Rectangle in a.. 下一篇CSU-1307-CityTour+Dij+Kruskal

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·深入理解 Java 集合 (2025-12-27 07:22:48)
·Java集合框架全面解 (2025-12-27 07:22:45)
·时隔 15 年,巨著《J (2025-12-27 07:22:43)
·定义一个类模板并实 (2025-12-27 06:52:28)
·一文搞懂怎么用C语言 (2025-12-27 06:52:25)