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.
     * public class TreeLinkNode {
     *     int val;
     *     TreeLinkNode left, right, next;
     *     TreeLinkNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public void connect(TreeLinkNode root) {
            if (root==null){
                return;
            }
            Queue<TreeLinkNode> queue = new LinkedList<TreeLinkNode>();
            queue.offer(root);
            TreeLinkNode pre = root;
            while (!queue.isEmpty()){
                TreeLinkNode p = queue.poll();
                pre.next = p;
                pre = p;
                if (p.left!=null){
                    queue.offer(p.left);
                }
                if (p.right!=null){
                    queue.offer(p.right);
                }
            }
            TreeLinkNode p =root;
            while (p!=null){
                p.next = null;
                p = p.right;
            }
        }
    }
  • 相关阅读:
    markdown基础
    img alt与title的区别
    关于echarts 报错 初始化对象未定义
    easyui datagrid 右边框被隐藏
    ie 浏览器文本输入框和密码输入框的默认样式
    谷歌内核浏览器 iframe内容的 tab切换 滚动条消失
    导入sass文件
    嵌套规则
    关于ruby -gem无法切换淘宝源
    sass 变量
  • 原文地址:https://www.cnblogs.com/23lalala/p/3506851.html
Copyright © 2011-2022 走看看