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

}
相关推荐
划破黑暗的第一缕曙光17 分钟前
[数据结构]:5.二叉树链式结构的实现1
数据结构
91刘仁德20 分钟前
c++类和对象(下)
c语言·jvm·c++·经验分享·笔记·算法
青桔柠薯片24 分钟前
数据结构:单向链表,顺序栈和链式栈
数据结构·链表
diediedei32 分钟前
模板编译期类型检查
开发语言·c++·算法
Stream_Silver36 分钟前
【Agent学习笔记3:使用Python开发简单MCP服务】
笔记·python
阿杰学AI42 分钟前
AI核心知识78——大语言模型之CLM(简洁且通俗易懂版)
人工智能·算法·ai·语言模型·rag·clm·语境化语言模型
Stream_Silver1 小时前
【Agent学习笔记2:深入理解Function Calling技术:从原理到实践】
笔记·python
mmz12071 小时前
分治算法(c++)
c++·算法
XiaoFan0121 小时前
将有向工作流图转为结构树的实现
java·数据结构·决策树
睡一觉就好了。1 小时前
快速排序——霍尔排序,前后指针排序,非递归排序
数据结构·算法·排序算法