time O(n) ,sapce O(n)

/*
// Definition for a Node.
class Node {
public:
int val;
Node* left;
Node* right;
Node* next; Node() {} Node(int _val, Node* _left, Node* _right, Node* _next) {
val = _val;
left = _left;
right = _right;
next = _next;
}
};
*/
/**
层序遍历,然后每一层左边节点指向右边节点,最后一个节点指向NULL
**/
class Solution {
public:
Node* connect(Node* root) {
if(root==NULL||root->left==NULL) return root;
queue<Node*>q;
q.push(root->left),q.push(root->right);
while(!q.empty()){
int k=q.size();
Node* l,*r=q.front();
q.pop();
if(r->left) q.push(r->left),q.push(r->right);
for(int i=;i<k;i++){
l=r,r=q.front();q.pop();
l->next=r;
if(r->left) q.push(r->left),q.push(r->right);
}
}
return root;
}
};

leetcode 116填充每个节点的下一个右侧节点指针的更多相关文章

  1. Java实现 LeetCode 116 填充每个节点的下一个右侧节点指针

    116. 填充每个节点的下一个右侧节点指针 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left ...

  2. [LeetCode] 116. 填充每个节点的下一个右侧节点指针

    题目链接 : https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/ 题目描述: 给定一个完美二叉树 ...

  3. Java实现 LeetCode 117 填充每个节点的下一个右侧节点指针 II(二)

    117. 填充每个节点的下一个右侧节点指针 II 给定一个二叉树 struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每 ...

  4. [leetcode-117]填充每个节点的下一个右侧节点指针 II

    (1 AC) 填充每个节点的下一个右侧节点指针 I是完美二叉树.这个是任意二叉树 给定一个二叉树 struct Node { int val; Node *left; Node *right; Nod ...

  5. LeetCode OJ:Populating Next Right Pointers in Each Node II(指出每一个节点的下一个右侧节点II)

    Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tre ...

  6. 【LeetCode】116. 填充每个节点的下一个右侧节点指针 Populating Next Right Pointers in Each Node 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcode ...

  7. leetcode 117. 填充每个节点的下一个右侧节点指针 II(二叉树,DFS)

    题目链接 https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node-ii/ 题目大意 给定一个二叉树 s ...

  8. 117. 填充每个节点的下一个右侧节点指针 II

    Q: 给定一个二叉树 struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右 ...

  9. leetcode117. 填充每个节点的下一个右侧节点指针 II

    给定一个二叉树struct Node {  int val;  Node *left;  Node *right;  Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节 ...

随机推荐

  1. MySQL之RPM安装说明及配置

    1.查看当前系统是否安装过Linux rpm -qa | grep -i mysql 未安装无任何输出:安装会打印对应mysql的rpm安装包. 2.准备安装包: MySQL-client-5.5.4 ...

  2. yarn查看正在运行的任务列表

    1 yarn application -list

  3. centos 7 Network 脚本

    #!/bin/sh #主动启动网卡 interface=$() ifup $interface #获取当前网络信息 default_route=$(ip route show) default_int ...

  4. 代码报错--------EOFError: Compressed file ended before the end-of-stream marker was reached

    背景:运行LeNet识别CIFAR-10的图像的代码时,报错: EOFError: Compressed file ended before the end-of-stream marker was ...

  5. 标准C语言(6)

    数组名称不可以代表任何存储区(数组名称不可以被赋值),数组名称可以代表数组里第一个存储区的地址 /* * 数组练习 * */ #include <stdio.h> #include < ...

  6. Spring MVC HandlerMapping

    http://www.cnblogs.com/tengyunhao/p/7658952.html http://www.cnblogs.com/tengyunhao/p/7518481.html Sp ...

  7. iview 在Table组件中使用switch组件并自定义内容和增加自定义事件

    注意: 使用render函数. 效果: 添加自定义文字: 1. 2. 上面的两种方法效果都是一样的: 增加自定义事件: 结果: 自信是进步的源泉. 继续加油. ^_^

  8. vue 中 弹幕的播放

    前言 最近在搞弹幕的问题,小程序上的和vue上的,不想使用插件,于是自己摸索了一下,其实包括 2中弹幕形式 有序和无序的 直接上代码吧 <!-- 弹幕 --> <template v ...

  9. Spring MVC 面试题

    什么是springMVC?作用? springMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等). 为什么要用springMVC? 基本上,框架的作用就 ...

  10. JavaScript分支结构Ⅰ—IF-ELSE

    ㈠程序 ⑴程序的流程控制 程序=数据+算法 ⑵程序的三种结构: ①顺序结构 ②分支结构 ③循环结构 ㈡IF结构 ⑴什么是分支结构? 程序在运行过程中,根据不同的条件,选择执行某些语句 ⑵什么是IF结构 ...