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

Posted ACBingo

tags:

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

117. 填充同一层的兄弟节点 II

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] 117. 填充同一层的兄弟节点 II的主要内容,如果未能解决你的问题,请参考以下文章

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

[leetcode-117]填充每个节点的下一个右侧节点指针 II

LeetCode 第117题 填充每个节点的下一个右侧节点指针||

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

[leetcode]117. Populating Next Right Pointers in Each NodeII用next填充同层相邻节点

993. 二叉树的堂兄弟节点