116. 填充每个节点的下一个右侧节点指针

AC Code

用哈希表记录队列中相邻的结点是否在同一层级上
然后用bfs遍历即可

class Solution {public:Node* connect(Node* root) {if(!root) return root;queue<Node*> Q;unordered_map<Node*,int> map;Q.push(root);map[root] = 1;while(!Q.empty()){Node* cur = Q.front();Q.pop();if(!Q.empty() && map[cur] == map[Q.front()]) cur->next = Q.front();if(cur->left) {Q.push(cur->left);Q.push(cur->right);map[cur->left] = map[cur] + 1;map[cur->right] = map[cur] + 1;}}return root;}
};

力扣-116. 填充每个节点的下一个右侧节点指针相关推荐

  1. 力扣116. 填充每个节点的下一个右侧节点指针(C++,附思路)

    题目链接在这里: 116. 填充每个节点的下一个右侧节点指针 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/popu ...

  2. 力扣 填充每个节点的下一个右侧节点指针

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

  3. 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1

    lt.116. 填充每个节点的下一个右侧节点指针 [案例需求] [思路分析一, 迭代法] [代码实现] /* // Definition for a Node. class Node {public ...

  4. 116. 填充每个节点的下一个右侧节点指针

    2020-05-28 1.题目描述 填充每个节点的下一个右侧节点指针 2.题解 层次遍历即可 3.代码 /* // Definition for a Node. class Node { public ...

  5. leetcode116. 填充每个节点的下一个右侧节点指针

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

  6. 二叉树:填充每个节点的下一个右侧节点指针(java)

    leetcode116:填充每个节点的下一个右侧节点指针 leetcode原题链接: 题目描述 递归解法一 递归方法二(效率更高) 二叉树专题 leetcode原题链接: 116题:填充每个节点的下一 ...

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

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

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

    https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/ 难度:中等   给定一个完美二叉树,其所有叶 ...

  9. LeetCode 116. 填充每个节点的下一个右侧节点指针(递归循环)

    文章目录 1. 题目 2. 解题 2.1 递归 2.2 循环 2.3 O(1)空间复杂度 1. 题目 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: stru ...

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

    给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *n ...

最新文章

  1. 好莱坞电影公司系列电影
  2. python调用c++返回带成员指针的类指针
  3. 销售员的四大重要素质
  4. Spring3注解@Component、@Repository、@Service、@Controller区别
  5. git add . 出现错误 The file will have its original line endings in your working directory. 解决方案...
  6. 使用Google Guice消除实例之间的歧义
  7. 面试前你需要掌握的二叉树、二叉排序树的创建和四种遍历方式
  8. abb伺服电机如何进行挑选_PLC是怎么控制伺服电机的?如何设计一个伺服系统?...
  9. Mac - 如何安全地还原 Mac 的默认字体
  10. oracle-Ora-01779-内联视图更新法
  11. Java模拟http上传文件请求(HttpURLConnection,HttpClient4.4,RestTemplate)
  12. UCI数据集(论文常用数据集)
  13. 总结:Oracle 递归查询
  14. 卸载Office密钥或删除序列号
  15. js pug 代码_PUG 系列 | 第二课 JS 代码混合、包含引入
  16. qlikview连接mysql_QlikView安装
  17. 联想g510升级换什么cpu好_老775平台还有升级CPU的必要吗?实测来告诉你
  18. matlab书籍(数学建模,信号处理,智能优化,统计分析)
  19. MPLS LDP的原理与配置
  20. python处理时间序列_Python——Pandas 时间序列数据处理

热门文章

  1. MySQL常见问题及解决方案
  2. EGit/User Guide
  3. [Lintcode]118. Distinct Subsequences/[Leetcode]115. Distinct Subsequences
  4. Java 设计模式 之 访问者模式
  5. Blender Python UV 学习
  6. 如何用php开启企业微信开发的回调模式
  7. swift项目第七天:构建访客界面以及监听按钮点击
  8. Win7X64位Seleniume+Eclipse+Pydev环境搭建
  9. SeaJS项目完整实例【转】
  10. Bresenham 圆和椭圆的生成算法