[leetcode] 116. 填充同一层的兄弟节点

Posted ACBingo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] 116. 填充同一层的兄弟节点相关的知识,希望对你有一定的参考价值。

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. 填充每个节点的下一个右侧节点指针

LeetCode第116题—填充每个节点的下一个右侧节点指针—Python实现

Leetcode 116. 填充每个节点的下一个右侧节点指针