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

题目

image-20240326120111175

思路

还是层序遍历。根据题意,当遍历到该层最后一个节点时,将其next置为null。else的话,则指向它的下一个节点。

怎么做呢?当我们把当前节点出队的时候,此时队头的元素就是我们的下一个节点。所以只需要cur.next= queue.peek()即可。

此外,我觉得这道题的输出示例给的不对,输出给的是一个list,但是代码要返回的是一个node类型。我最后看了看参考代码,返回根节点即可。

代码

//leetcode submit region begin(Prohibit modification and deletion)
/*
// Definition for a Node.
class Node {
    public int val;
    public Node left;
    public Node right;
    public Node next;

    public Node() {}
    
    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, Node _left, Node _right, Node _next) {
        val = _val;
        left = _left;
        right = _right;
        next = _next;
    }
};
*/

class Solution {
    public Node connect(Node root) {
        if (root == null)
            return root;
        Queue<Node> queue = new LinkedList<Node>();
        queue.add(root);  //入队
        while (!queue.isEmpty()) {
            int len = queue.size();
            Node pre = new Node();
            while (len > 0) {
                Node temp = queue.poll(); //出队
                //将每层最后一个节点的next为Null
                if (len == 1) {
                    temp.next = null;
                }else{
                    temp.next=queue.peek(); //当前节点出队后,此时queue的peek就是下一个节点
                }
                if (temp.left != null) //有左入左
                    queue.add(temp.left);
                if (temp.right != null) //有右入右
                    queue.add(temp.right);
                len--;
            }
        }
        return root;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

最近更新

  1. TCP协议是安全的吗?

    2024-03-30 20:26:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-30 20:26:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-30 20:26:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-30 20:26:04       18 阅读

热门阅读

  1. 机器学习实验------AGNES层次聚类方法

    2024-03-30 20:26:04       17 阅读
  2. react中moment方法

    2024-03-30 20:26:04       16 阅读
  3. YOLO图像前处理及格式转换

    2024-03-30 20:26:04       21 阅读
  4. 计算机OSI7层协议模型

    2024-03-30 20:26:04       16 阅读
  5. 用CSS实现单行、多行文本溢出隐藏

    2024-03-30 20:26:04       17 阅读
  6. Leetcode 674. 最长连续递增序列

    2024-03-30 20:26:04       16 阅读
  7. 搜索框中文输入导致高频触发的优化

    2024-03-30 20:26:04       17 阅读
  8. 设计模式(4):建造者模式

    2024-03-30 20:26:04       18 阅读
  9. 第二十二篇-ZincSearch-安装部署

    2024-03-30 20:26:04       15 阅读
  10. Android 多层级列表实现

    2024-03-30 20:26:04       20 阅读
  11. python绘制直方图

    2024-03-30 20:26:04       19 阅读