zoukankan      html  css  js  c++  java
  • 116. 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



    默认每个节点的next 都是空。
    2层循环,第一层循环是层数,用level_start控制,
    第二层循环,循环每层的每个节点,来构建next 指针,
    构建next指针时,有3种情况:1 左指针指向右指针
    2 右指针不是当层最末尾的指针,右指针指向父亲节点next的左指针。
    3
    右指针是当层最末尾的指针,不用处理,因为默认每个节点的next都是指向null的。

     1 public class Solution {
     2     public void connect(TreeLinkNode root) {
     3         TreeLinkNode level_start=root;
     4         while(level_start!=null){
     5             TreeLinkNode cur=level_start;
     6             while(cur!=null){
     7                 if(cur.left!=null) cur.left.next=cur.right;
     8                 if(cur.right!=null && cur.next!=null) cur.right.next=cur.next.left;
     9                 
    10                 cur=cur.next;
    11             }
    12             level_start=level_start.left;
    13         }
    14     }
    15 }
  • 相关阅读:
    MyEclipse里运行时报错
    Django中Template does not exit
    Django简单界面开发
    Django安装过程
    搭建NFS服务器和客户端过程中遇到的问题
    URL传值中文乱码的解决
    结合《需求征集系统》谈MVC框架
    对于微信小程序登录的理解图
    FpSpread基本句法
    sql,lambda,linq语句
  • 原文地址:https://www.cnblogs.com/zle1992/p/7784711.html
Copyright © 2011-2022 走看看