每日一题《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;

}
相关推荐
易小尊26 分钟前
Dixon-Coles 的 τ 函数,我写错了三次
算法
愤怒火龙果34 分钟前
蓝队笔记整理04 安全设备、内网处置与云上防护
笔记·网络安全
凯瑟琳.奥古斯特1 小时前
力扣1015C++解法技巧
c++·算法·leetcode·链表·职场和发展
seowmt2 小时前
GEO效果该什么时候看数据:从立项到复盘的时间线复盘
算法·ip·seo·geo·faq
悠仁さん2 小时前
【算法C++】双指针(一)
数据结构·c++·算法
文丑颜不良啊2 小时前
LeetCode626~650题目解析
java·leetcode
小豆庄2 小时前
本地视频脱敏的追踪系统踩坑——车牌过滤、转场误判与ID冲突排查
人工智能·算法·目标检测·音视频·视频·敏捷流程·纹理贴图
忆挽篱笙歌2 小时前
进程替换函数与shenll命令行解释器
前端·javascript·算法
YukiRinLL2 小时前
字符串存储与 BF、KMP 匹配算法
数据结构·算法
小超人诞生日记2 小时前
Linux:环境变量 & 进程虚拟地址空间
linux·算法