`
blue2048
  • 浏览: 185766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[leetcode]Populating Next Right Pointers in Each Node II - java

阅读更多

这道题有个点,即使用空间来对树进行分层,这个点对于不完全二叉树还是很常见的技巧

/**

 * 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;

        }

        LinkedList<TreeLinkNode> queue = new LinkedList<TreeLinkNode>();

        LinkedList<TreeLinkNode> childQueue = new LinkedList<TreeLinkNode>();

        queue.add(root);

        TreeLinkNode preNode = null;

        while (!queue.isEmpty()){

            TreeLinkNode node = queue.remove();

            if(preNode != null){

                preNode.next=node;

            }

            preNode = node;

            if(node.left != null){

                childQueue.add(node.left);

            }

            if(node.right!=null){

                childQueue.add(node.right);

            }

            if(queue.isEmpty() && !childQueue.isEmpty()){

                queue.addAll(childQueue);

                childQueue.clear();

                preNode=null;

            }

        }

    }

}

 

分享到:
评论

相关推荐

    java-leetcode题解之Populating Next Right Pointers in Each Node.java

    Java实现LeetCode题解Populating Next Right Pointers in Each Node详解 LeetCode中的Populating Next Right Pointers in Each Node问题是一个经典的树结构操作问题,主要目的是解决在多层的二叉树中建立所有节点的...

    java-leetcode题解之Populating Next Right Pointers in Each Node

    Java-leetcode题解之Populating Next Right Pointers in Each Node涉及到的算法知识,主要解决的是如何在不使用额外空间的情况下,将一个二叉树的每一层的节点连接起来,使得每个节点的下一个右侧节点指针指向其同层...

    python-leetcode题解116-Populating-Next-Right-Pointers-in-Each-Node

    LeetCode题号116,题目名为“Populating Next Right Pointers in Each Node”,是关于树结构中的节点链接问题。这个问题要求在给定的多层完全二叉树中,为每个节点建立一个“next”指针,指向同一层级的下一个节点。...

    js-leetcode题解之116-populating-next-right-pointers-in-each-node.js

    LeetCode 116号问题要求解决在一个多级链表中填充每个节点的next指针。这个问题是算法和数据结构中的一个经典问题,常在面试中考察对树或图遍历算法的理解。在这个具体的问题中,每个节点都有一个额外的指针,它指向...

    leetcode卡-leetcode_python:leetcode_python

    leetcode卡 leetcode_python 项目介绍 想学学python,刷刷leetcode 打卡轨迹 2020-01-13 70 爬楼梯 2020-01-14 120 Triangle 2020-01-15 213 House Robberll -变种 198 337 2020-01-16 139 单词拆分 2020-01-20 104 ...

    Sologala#LeetCode#填充每个节点的下一个右侧节点指针_II1

    [117]填充每个节点的下一个右侧节点指针 II|populating-next-right-pointers-in-each-node-ii给定一个二叉树填充

    lrucacheleetcode-leetcode:个人刷leetcode遇到的一些题汇总(golang)

    lru cache leetcode leetcode 记录自己刷leetcode时遇到的一些值得记下来的题目, 分为一些子项 bytedance ...populating-next-right-pointers-in-each-node sum-root-to-leaf-numbers best-time-to-buy

    四平方和定理leetcode-leetcode-practice:个人LeetCode练习代码

    四平方和定理 leetcode Leetcode practice Table of content Tree 92.reverse-linked-list-ii (反转链表 ...94.binary-tree-inorder-...116.populating-next-right-pointers-in-each-node (填充每个节点的下一个右侧节点

    蓄水池算法leetcode-leetcode:leetcode

    蓄水池算法 leetcode leetcode Post: 《双指针的魅力》 《常见面试题思想方法整理》 ...populating-next-right-pointers-in-each-node-ii: 二级指针代码虽然简洁优雅,但是对性能有影响,不如一级指针加if else判断快。

    leetcode题库-pyshua:这是一个Python的编码判断系统

    leetcode题库 pyshua Python 算法题练习 用法: python Judge.py library problem 例子: python Judge.py leetcode TwoSum 如何贡献: 收录题库 LeetCode (还有4题未录入, 分别为 LRU Cache, Copy List with Random ...

    Leetcode题目+解析+思路+答案.pdf

    - **Populating Next Right Pointers in Each Node**:连接二叉树每个节点的下一个右侧节点。 - **Convert Sorted List/Array to Binary Search Tree**:将有序列表或数组转换为二叉搜索树。 - **Path Sum II**:...

    js代码-力扣第七题

    力扣第七题通常是指“重建二叉树”(重建二叉树的英文原题可能是“Populating Next Right Pointers in Each Node”)。这是一道中等难度的题目,主要考察的是树结构和深度优先搜索(DFS)或广度优先搜索(BFS)的...

Global site tag (gtag.js) - Google Analytics