当前位置: 首页 > news >正文

赣县区建设局网站西安模板建站网站

赣县区建设局网站,西安模板建站网站,微信开发者工具怎么打开文件,c 语言Vs做网站接口leetcode 116. 填充每个节点的下一个右侧节点指针 题目 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next …

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

题目

给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:

struct Node {
int val;
Node *left;
Node *right;
Node *next;
}
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。

初始状态下,所有 next 指针都被设置为 NULL。
在这里插入图片描述

思路

这道题假设用层序遍历开一个队列来做其实非常的简单,但是他既然说了进阶要不开额外空间,这一点就值得考量了。实际上就是怎样才能去掉这个队列呢,那就必然得拿到下一个节点,这个可以借助父节点的next来做,因为遍历到下一层的时候,父节点的next是已知的。所以就一目了然了,这道题除了迭代外,还可以用递归。

代码

// 迭代
/*
// Definition for a Node.
class Node {public int val;public Node left;public Node right;public Node next;public Node() {}public Node(int _val) {val = _val;}public Node(int _val, Node _left, Node _right, Node _next) {val = _val;left = _left;right = _right;next = _next;}
};
*/class Solution {public Node connect(Node root) {if (root == null) {return root;}// Deque<Node> queue = new ArrayDeque<Node>();// queue.offerLast(root);Node node = root;while (node.left != null) {Node firstnode = node;while (node != null) {if (node.left != null) {node.left.next = node.right;}if (node.next != null) {node.right.next = node.next.left;}node = node.next;}node = firstnode.left;}return root;}
}
// 递归
/*
// Definition for a Node.
class Node {public int val;public Node left;public Node right;public Node next;public Node() {}public Node(int _val) {val = _val;}public Node(int _val, Node _left, Node _right, Node _next) {val = _val;left = _left;right = _right;next = _next;}
};
*/class Solution {public Node connect(Node root) {if (root == null) {return null;}if (root.left != null) {root.left.next = root.right;root.right.next = root.next == null ? null : root.next.left;connect(root.left);connect(root.right);}return root;}
}
http://www.yayakq.cn/news/253046/

相关文章:

  • 制作短视频最好的软件东营网站seo服务
  • 坪山网站建设公司网站建设基础包括
  • 怎么用asp做网站建设银行甘肃定西市分行网站
  • 电子商务网站建设与规划总结wordpress on line 66
  • 南京移动网站建设哪里强网站建设案例教程视频
  • 企业型网站建设方案做游戏代练的网站
  • 手机网站设计开发腾讯短网址生成
  • 网站排名优化技术网站建设的课件
  • 建网站代理商深圳的装修公司排名
  • 网站外包 博客网站内容页怎么设计模板
  • 建设网站50m数据库小程序有什么用
  • php 设置网站根目录湘潭做网站出色磐石网络
  • 聊城做wap网站服务网易企业邮箱的登录方法
  • 行政机关网站建设的意义如何用phpstudy做网站
  • ps如何做网站轮播图企业网站建站软件
  • 我网站建设建设用地规划公示在哪个网站查
  • 晋江网站建设联系电话企业建站系统开源
  • 网站建设 技术协议网站cms系统源码
  • 怎样做instergram网站营销包装设计招聘
  • 湛江专业建网站哪家好查看网站备案
  • wordpress 网站建设中做网站要注意什么问题
  • 中山专业制作网站化妆培训网站模板
  • 做算命类网站违法吗?南京做网站南京乐识最优
  • 怎么快速做网站排名如何查看网站的建设方式
  • 怎么在虚拟主机上建网站《学做网站论坛》视频下载
  • wordpress网站可以显示中文和英文网站设计与制作包括
  • 安卓商城网站开发网站php网站空间
  • 海南省住房和城乡建设厅官方网站呼叫中心系统源码
  • 全国工商网站查询企业信息seo优化技术培训中心
  • 怎做不下网站刷枪金堂县建设局网站