/*
// Definition for a Node.
class Node {
public:
int val;
Node* left;
Node* right;
Node* next;
Node() {}
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;
queue<Node*> q[2];
int A = 0; // 当前层
int B = 1; // 下一层
q[A].push(root);
while(!q[A].empty()){
while(!q[A].empty()){
Node* t = q[A].front();
q[A].pop();
if(!q[A].empty()) t->next = q[A].front();
if(t->left != NULL) q[B].push(t->left);
if(t->right != NULL) q[B].push(t->right);
}
swap(A,B);
}
return root;
}
};
No.130 - LeetCode117 - 层次链
最新推荐文章于 2023-11-03 16:49:33 发布