leetcode 117. 填充每个节点的下一个右侧节点指针 II
程序员文章站
2022-05-20 20:11:51
...
/*
// Definition for a Node.
class Node {
public:
int val;
Node* left;
Node* right;
Node* next;
Node() : val(0), left(NULL), right(NULL), next(NULL) {}
Node(int _val) : val(_val), left(NULL), right(NULL), next(NULL) {}
Node(int _val, Node* _left, Node* _right, Node* _next)
: val(_val), left(_left), right(_right), next(_next) {}
};
*/
class Solution {
public:
Node* connect(Node* root) {
queue<Node*> q;
if (root != NULL)
q.push(root);
while (!q.empty())
{
int size = q.size();
Node *node;
Node *pre_node;
for (int i = 0; i < size; i++)
{
if (i == 0)
{
node = q.front();
q.pop();
pre_node = node;
}
else
{
node = q.front();
q.pop();
pre_node->next = node;
pre_node = pre_node->next;
}
if(node->left)
{
q.push(node->left);
}
if(node->right)
{
q.push(node->right);
}
}
pre_node->next == NULL;
}
return root;
}
};
害,还是要慢慢刷题
上一篇: 走迷宫算法 用python实现
下一篇: LeetCode200. 岛屿数量
推荐阅读
-
C++实现LeetCode(117.每个节点的右向指针之二)
-
填充每个节点的下一个右侧节点指针 II
-
117. 填充每个节点的下一个右侧节点指针 II
-
【C语言 LeetCode 116】填充每个节点的下一个右侧节点指针
-
leetcode116. 填充每个节点的下一个右侧节点指针
-
leetcode117. 填充每个节点的下一个右侧节点指针 II
-
leetcode116. 填充每个节点的下一个右侧节点指针/层次遍历
-
leetcode116. 填充每个节点的下一个右侧节点指针
-
【leetcode】117. 填充每个节点的下一个右侧节点指针 II(populating-next-right-pointers-in-each-node-ii)(bfs)[中等]
-
leetcode116. 填充每个节点的下一个右侧节点指针