zoukankan      html  css  js  c++  java
  • Populating Next Right Pointers in Each Node

    Given a binary tree

        struct TreeLinkNode {
          TreeLinkNode *left;
          TreeLinkNode *right;
          TreeLinkNode *next;
        }
    

    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
    /**
     * 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)
                return ;
            if(root->left)
                root->left->next = root->right;
            if(root->right)
            {
                if(root->next)
                    root->right->next = root->next->left;
                else
                    root->right->next = NULL;
            }
            connect(root->left);
            connect(root->right);
        }
    };

    本人错误代码:
    class Solution {
    public:
        void connect(TreeLinkNode *root)
        {
            if(!root)
                return ;
            if(root->left)
                root->left->next = root->right;
            if(root->left->right)
                root->left->right->next = root->right->left;
            connect(root->left);
            connect(root->right);
        }
    };

    提示running time error
    input{0}时
    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    s3c6410 SD卡启动的Secure mode
    转载:在WinCE中实现Screen Rotation
    Linux常用的
    49美元Android PC驾到!威盛APC初探
    通过ImageIO创建任意大小图片缩略图(image thumbnail)
    MongoDB中的注意事项
    PHP连接Mongo时的数据库指定
    MongoDB与PHP的简单应用
    关于MongoDB的group用法
    MongoDB的管理
  • 原文地址:https://www.cnblogs.com/vintion/p/4116980.html
Copyright © 2011-2022 走看看