本文主要是介绍代码随想录 Leetcode116/117.填充每个节点的下一个右侧节点指针(II),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
代码(首刷自解 2024年1月24日):
/*
// 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) {if(root == nullptr) return root;queue<Node*> que;Node* cur = root;que.push(cur);int size = 0;while (!que.empty()) {size = que.size();while (size--) {Node* node = que.front();que.pop();if (size == 0) node->next = nullptr;else node->next = que.front();if (node->left) que.push(node->left);if (node->right) que.push(node->right);}}return root;}
};
这篇关于代码随想录 Leetcode116/117.填充每个节点的下一个右侧节点指针(II)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!