这道题有个点,即使用空间来对树进行分层,这个点对于不完全二叉树还是很常见的技巧
/** * 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详解 LeetCode中的Populating Next Right Pointers in Each Node问题是一个经典的树结构操作问题,主要目的是解决在多层的二叉树中建立所有节点的...
Java-leetcode题解之Populating Next Right Pointers in Each Node涉及到的算法知识,主要解决的是如何在不使用额外空间的情况下,将一个二叉树的每一层的节点连接起来,使得每个节点的下一个右侧节点指针指向其同层...
LeetCode题号116,题目名为“Populating Next Right Pointers in Each Node”,是关于树结构中的节点链接问题。这个问题要求在给定的多层完全二叉树中,为每个节点建立一个“next”指针,指向同一层级的下一个节点。...
LeetCode 116号问题要求解决在一个多级链表中填充每个节点的next指针。这个问题是算法和数据结构中的一个经典问题,常在面试中考察对树或图遍历算法的理解。在这个具体的问题中,每个节点都有一个额外的指针,它指向...
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 ...
[117]填充每个节点的下一个右侧节点指针 II|populating-next-right-pointers-in-each-node-ii给定一个二叉树填充
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 Table of content Tree 92.reverse-linked-list-ii (反转链表 ...94.binary-tree-inorder-...116.populating-next-right-pointers-in-each-node (填充每个节点的下一个右侧节点
蓄水池算法 leetcode leetcode Post: 《双指针的魅力》 《常见面试题思想方法整理》 ...populating-next-right-pointers-in-each-node-ii: 二级指针代码虽然简洁优雅,但是对性能有影响,不如一级指针加if else判断快。
leetcode题库 pyshua Python 算法题练习 用法: python Judge.py library problem 例子: python Judge.py leetcode TwoSum 如何贡献: 收录题库 LeetCode (还有4题未录入, 分别为 LRU Cache, Copy List with Random ...
- **Populating Next Right Pointers in Each Node**:连接二叉树每个节点的下一个右侧节点。 - **Convert Sorted List/Array to Binary Search Tree**:将有序列表或数组转换为二叉搜索树。 - **Path Sum II**:...
力扣第七题通常是指“重建二叉树”(重建二叉树的英文原题可能是“Populating Next Right Pointers in Each Node”)。这是一道中等难度的题目,主要考察的是树结构和深度优先搜索(DFS)或广度优先搜索(BFS)的...