题目链接

思路

层序遍历,记录每个节点的层数,另外使用一个前驱节点,判断层数是否相同,如果在同一层就修改next。

class Solution {public:Node* connect(Node* root) {if (!root) return root;pair<Node*, int> pre = make_pair(nullptr, -1);queue<pair<Node*, int>> q;q.push(make_pair(root, 0));while (!q.empty()) {pair<Node*, int> f = q.front();q.pop();if (pre.first && pre.second == f.second) pre.first->next = f.first;pre = f;if (f.first->left) q.push(make_pair(f.first->left, f.second+1));if (f.first->right) q.push(make_pair(f.first->right, f.second+1));}return root;}
};

利用完美二叉树的特性,同样使用层序遍历,每次处理一层的数据。

class Solution {public:Node* connect(Node* root) {if (!root) return root;queue<Node*> q;q.push(root);while (!q.empty()) {Node *pre = nullptr, *cur;int n = q.size();for (int i = 0; i < n; ++i) {cur = q.front();q.pop();if (pre) pre->next = cur;pre = cur;if (cur->left) {q.push(cur->left);}if (cur->right) {q.push(cur->right);}}}return root;}
};

LeetCode每日一题 116. 填充每个节点的下一个右侧节点指针相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. leetcode系列-116.填充每个节点的下一个右侧节点指针

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

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

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

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

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

最新文章

  1. Cannot find SS.INI file for user *** 解决方法
  2. JS 04 Date_Math_String_Object
  3. 单引号和冒号不能存入mysql么_mysql单引号和双引号的用法
  4. oracle基础琐碎总结-----Where和Having的区别与联系
  5. python 定义一个负数_其实Python不难学(4):Python如何处理文本数据
  6. 谷歌发布 MediaPipe Holistic,实现移动端同时进行人脸、手部和人体关键点检测跟踪...
  7. hibernate SQLQuery实践指南
  8. Linux开启和关闭防火墙的方法
  9. 通俗易懂!视觉slam第五部分——slam数学表示二
  10. mysql left join测试
  11. 《网络营销实战密码》书评征文获奖名单揭晓
  12. vmware10密钥
  13. python ipad 微信_用Python玩微信(非常详细)
  14. asp.net汉字转拼音 可返回拼音首字母
  15. There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED]
  16. ro服务器物品掉率修改,给冒险者们的一封致歉信 社交服务器持续优化 仙境传说手游常见BUG解答...
  17. java gps经纬度坐标转高德坐标_RN中Geolocation的经纬度坐标转换为高德地图坐标
  18. chrome播放rtsp视频使用vgx插件
  19. 南都周刊 别了 老兵乔布斯
  20. 药到痰出——喉咙不再有痰

热门文章

  1. 这短短几行代码价值一万
  2. Mellanox 8亿美元收购EZchip
  3. 10.8.5如何升级(app store 出错 请稍后重试 100)
  4. 首次合作带给我的感想
  5. 京东商城确认购买jingdong.com域名
  6. Apache 创建虚拟主机目录和设置默认访问页面
  7. mysql手工注入——盲注
  8. PHP-代码审计-文件上传
  9. PHP-代码审计-ini配置文件
  10. C# 系统应用之窗体最小化至任务栏及常用操作