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

}
相关推荐
sin_hielo12 小时前
leetcode 3623
算法·leetcode·哈希算法
极市平台12 小时前
骁龙大赛技术分享第4期来了
人工智能·经验分享·笔记·后端·个人开发
( •̀∀•́ )92012 小时前
高性能拖拽排序
java·开发语言·算法
Ayanami_Reii12 小时前
进阶数据结构应用-区间最大公约数
开发语言·数据结构·算法·线段树·差分·树状数组·fenwick tree
在人间负债12 小时前
昇腾 RAG SDK 从入门到实战:技术解析与部署实操
后端·算法
大千AI助手12 小时前
多维空间的高效导航者:KD树算法深度解析
数据结构·人工智能·算法·机器学习·大千ai助手·kd tree·kd树
暗然而日章12 小时前
C++基础:Stanford CS106L学习笔记 4 容器(STL与序列容器)
c++·笔记·学习
遇见火星12 小时前
SSH 安全实战:配置加固、防爆破与二次验证!
笔记·安全·ssh
凋零蓝玫瑰12 小时前
几何:数学世界的空间密码
人工智能·算法·机器学习
kk”12 小时前
C++ AVL树
开发语言·数据结构·c++