男女激烈做羞羞事网站,wordpress 图片调用代码,wordpress付费剧集网站,成都科技网站建设电话多少目录 题目
思路
代码 题目
116
给定一个 完美二叉树 #xff0c;其所有叶子节点都在同一层#xff0c;每个父节点都有两个子节点。二叉树定义如下#xff1a;
struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针#xff0c…目录 题目
思路
代码 题目
116
给定一个 完美二叉树 其所有叶子节点都在同一层每个父节点都有两个子节点。二叉树定义如下
struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点则将 next 指针设置为 NULL。
初始状态下所有 next 指针都被设置为 NULL。 示例 1 输入root [1,2,3,4,5,6,7] 输出[1,#,2,3,#,4,5,6,7,#] 解释给定二叉树如图 A 所示你的函数应该填充它的每个 next 指针以指向其下一个右侧节点如图 B 所示。序列化的输出按层序遍历排列同一层节点由 next 指针连接# 标志着每一层的结束。 示例 2:
输入root [] 输出[]
117
给定一个二叉树
struct Node {int val;Node *left;Node *right;Node *next;
}
填充它的每个 next 指针让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点则将 next 指针设置为 NULL 。
初始状态下所有 next 指针都被设置为 NULL 。 示例 1 输入root [1,2,3,4,5,null,7]
输出[1,#,2,3,#,4,5,7,#]
解释给定二叉树如图 A 所示你的函数应该填充它的每个 next 指针以指向其下一个右侧节点如图 B 所示。序列化输出按层序遍历顺序由 next 指针连接# 表示每层的末尾。
示例 2
输入root []
输出[]
思路 同力扣102 层序遍历只不过在单层遍历的时候记录一下本层的头部节点然后在遍历的时候让前一个节点指向本节点就可以了
代码
/*
// 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) {QueueNode quenew LinkedList();//定义一个队列if(root!null){que.offer(root);}while(!que.isEmpty()){int lenque.size();//他和下面那行不能互换Node aque.poll();//把每层第一个节点弹出if (a.left ! null) que.add(a.left);if (a.right ! null) que.add(a.right);for(int i1;ilen;i){//从第二个结点开始Node nque.poll();//弹出来if (n.left ! null) que.add(n.left);if (n.right ! null) que.add(n.right);a.nextn;//让他前面的指向后面an;//改变当前指针位置}}return root;}
}