• populating-next-right-pointers-in-each-node leetcode C++


    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 toNULL.

    Initially, all next pointers are set toNULL.

    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

    C++

    /**
     * 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){
            while(root){
                TreeLinkNode L(-1);
                TreeLinkNode *f;
                TreeLinkNode *p;
                f = &L;
                p = root;
                while(p){
                    if(p->left != NULL){
                        f->next = p->left;
                        f = f->next;
                    }
                    if(p->right != NULL){
                        f->next = p->right;
                        f = f->next;
                    }
                    p = p->next;
                }
                root = L.next;
            }
        }
    };
  • 相关阅读:
    NYIST 46 最少乘法次数
    OpenSSL命令---rsa
    Javah生成JNI头文件
    Stbdroid之ShapeDrawable
    Android之判断设备网络连接状态,并判断连接方式
    [置顶] 程序员必知(二):位图(bitmap)
    中断子系统8_软中断入口处理
    二叉搜索树的后续遍历序列
    整理生命
    sicily9162. RAZLIKA
  • 原文地址:https://www.cnblogs.com/vercont/p/10210257.html
Copyright © 2020-2023  润新知