Populating Next Right Pointers in Each Node II LeetCode[通俗易懂]

Populating Next Right Pointers in Each Node II LeetCode

大家好,又见面了,我是全栈君。

Populating Next Right Pointers in Each Node II

 
Total Accepted: 18934 
Total Submissions: 62031
My Submissions

Follow up for problem “Populating Next Right Pointers in Each Node“.

What if the given tree could be any binary tree? Would your previous solution still work?

Note:

  • You may only use constant extra space.

For example,
Given the following binary tree,

         1
       /  \
      2    3
     / \    \
    4   5    7

After calling your function, the tree should look like:

         1 -> NULL
       /  \
      2 -> 3 -> NULL
     / \    \
    4-> 5 -> 7 -> NULL

Have you been asked this question in an interview? 

/**
 * 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);
        while(!queue.isEmpty()){
            int qSize = queue.size();
            TreeLinkNode preNode = null;
            for (int i = 0; i < qSize; i++){
                TreeLinkNode curNode = queue.poll();
                curNode.next = preNode;
                preNode = curNode;
                if (curNode.right != null){
                    queue.offer(curNode.right);
                }
                if (curNode.left != null){
                    queue.offer(curNode.left);
                }
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115891.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux开放8080端口命令_centos开放80端口

    linux开放8080端口命令_centos开放80端口1.添加映射iptables-tnat-APREROUTING-ptcp–dport80-jREDIRECT–to-port8080-tnat:指出我要操作什么表.(不写就表示filter.默认是filter)-APREROUTING:A添加的意思.表示我要在PREROUTING中添加一个规则–dport80:如果请求80端…

    2022年9月18日
    1
  • windows 10安装sqlyog详细步骤

    windows 10安装sqlyog详细步骤sqlyog下载链接:链接:https://pan.baidu.com/s/1D_iRna8V90omfHsKHyeBtg提取码:bqht复制这段内容后打开百度网盘手机App,操作更方便哦1.下载完以后解压,双击SQLyog-12.0.9-0.x642.如下图,选择Ok3.如图,点击下一步4.选择“我接受“许可证协议”中的条款(A)”单击下一步…

    2022年5月28日
    77
  • win10 wlan wifi 显示 无Internet连接,安全 连不上网;网络连接显示小地球,无Internet连接 但能上网,反正wlan的 各种病症,猛药解决

    win10 wlan wifi 显示 无Internet连接,安全 连不上网;网络连接显示小地球,无Internet连接 但能上网,反正wlan的 各种病症,猛药解决1、暴力重启:直接按电源键强制关机再开机;2、右键小地球,疑难解答并且执行3、360网络修复4、改这里的配置5、计算机管理,服务改这里的配置都改成自动6、win+rregedit\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet这个值改成17、netshwinsockresetcatalognetshinti…

    2022年7月27日
    10
  • group by 和 order by 的区别 + 理解过程

    group by 和 order by 的区别 + 理解过程orderby和groupby的区别order by 和 group by 的区别:1,order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。2,group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。注意:聚合函数是—sum()、count()、…

    2022年5月9日
    40
  • java excel 取消科学计数法_基于Java将Excel科学计数法解析成数字

    java excel 取消科学计数法_基于Java将Excel科学计数法解析成数字需要注意的是一般的科学表达式是 1 8E121 8E 12 而在 Excel 中的科学表达式是 1 8E 121 8E 12 我写的科学计数法的正则表达式是 d d Ee 1 0 9 导入 EXCEL 数据时将科学计数法解析成数字 Java 代码 importjava text DecimalForma importjava util regex Pattern pub

    2025年6月3日
    3
  • Oracle连接查询,彻底搞懂外连接(左外连接&右外连接)

    Oracle连接查询,彻底搞懂外连接(左外连接&右外连接)Oracle连接查询有3种:交叉连接、内连接、外连接。交叉连接结果是其他连接结果的超集,外连接结果是内连接结果的超集。接下的例子以departments_v、employees_v两个视图数据为例(4条部门数据,9条人员数据)1.交叉连接:又称笛卡尔积连接,是两个或多个表间的无条件连接,因此它会将表1的每一条数据与表2的每一条数据连接,因此结果会有4*9=36条数据

    2022年5月5日
    283

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号