[leetcode] 116. 填充同一层的兄弟节点
Posted ACBingo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] 116. 填充同一层的兄弟节点相关的知识,希望对你有一定的参考价值。
其实就是个二叉树的层次遍历
class Solution {
public void connect(TreeLinkNode root) {
if (root == null) return;
LinkedList<TreeLinkNode> queue = new LinkedList<>();
queue.offer(root);
TreeLinkNode flag = root;
TreeLinkNode last = null;
while (!queue.isEmpty()) {
TreeLinkNode nowNode = queue.poll();
if (last != null) {
last.next = nowNode;
}
if (nowNode.left != null) queue.add(nowNode.left);
if (nowNode.right != null) queue.add(nowNode.right);
last = nowNode;
if (flag == nowNode) {
nowNode.next = null;
flag = queue.peekLast();
last = null;
}
}
}
}
以上是关于[leetcode] 116. 填充同一层的兄弟节点的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Algorithm 116. 填充每个节点的下一个右侧节点指针
LeetCode Algorithm 116. 填充每个节点的下一个右侧节点指针
LeetCode 树 116. 填充每个节点的下一个右侧节点指针(层序遍历 分层)
[LeetCode] 116. 填充每个节点的下一个右侧节点指针