每日一题《leetcode--117.填充每个结点的下一个右侧结点指针||》

https://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii/


这道题与我之前发布的题目116是一样的解题过程,只是本题所给的数组大小与116不同,这是需要注意的。

116题目链接:

http://t.csdnimg.cn/3Ub02

复制代码
struct Node* connect(struct Node* root) {
	if(root == NULL)
    {
        return root;
    }

    //创建一个队列同时将第一层节点加入队列中
    struct Node* Q[10001];
    int left = 0, right = 0;
    Q[right++] = root;

    //while循环的迭代是层数
    while(left < right)
    {
        //记录的当前队列的大小
        int size = right - left;
        for(int i=0 ; i < size;i++)
        {
            //取出队头元素
            struct Node* node = Q[left++];

            //链接
            if(i < size-1)
            {
                node->next = Q[left];
            }

            //拓展下一层的节点
            if(node->left)
            {
                Q[right++] = node->left;
            }
            if(node->right)
            {
                Q[right++] = node->right;
            }
        }
    }
    //返回根节点
    return root;

}
相关推荐
码行山野赴时序归途2 分钟前
从暴力到最优:三道 C 语言入门题的解法思路
c语言·开发语言·数据结构·算法·leetcode·排序算法
土司大王2 分钟前
LeetCode hot100——随机链表的复制
算法·leetcode·链表
叠层归一研究院3 分钟前
螺旋时空:E框架的整合宇宙论
人工智能·经验分享·算法·机器学习·agi
sunoo-2296 分钟前
【Linux 系统编程】学习第七天:线程属性 | 互斥锁 | 死锁 | 信号量 核心知识点 + 踩坑实战
linux·c语言·笔记·vscode·学习
磁场转动100万匹14 分钟前
线性回归算法实现训练数据集、测试数据集的缺失值填充
算法·机器学习·线性回归
LccKyI44 分钟前
C#基础编程 面试题汇总(三)
笔记·c#
懿路向前1 小时前
【HarmonyOS学习笔记】2026-08-27 | 端插件踩坑与设计取舍
笔记·学习·harmonyos
乐迪信息1 小时前
防爆AI摄像机实时监测船舶异常姿态
大数据·人工智能·算法·安全·目标跟踪
ouynagda2 小时前
Linux多线程:互斥锁与信号量学习笔记
linux·笔记·学习
CarIise2 小时前
C语言结构体与链表
数据结构·算法