117. 填充每个节点的下一个右侧节点指针 II
1 /* 2 // Definition for a Node. 3 class Node { 4 public: 5 int val; 6 Node* left; 7 Node* right; 8 Node* next; 9 10 Node() : val(0), left(NULL), right(NULL), next(NULL) {} 11 12 Node(int _val) : val(_val), left(NULL), right(NULL), next(NULL) {} 13 14 Node(int _val, Node* _left, Node* _right, Node* _next) 15 : val(_val), left(_left), right(_right), next(_next) {} 16 }; 17 */ 18 class Solution 19 { 20 public: 21 Node* connect(Node* root) 22 { 23 queue<Node*> q; 24 q.push(root); 25 while(!q.empty()) 26 { 27 int n = q.size(); 28 for(int i = 0;i < n;i ++) 29 { 30 Node* temp = q.front(); 31 q.pop(); 32 if(i < n - 1) temp->next = q.front(); 33 if(temp && temp->left) q.push(temp->left); 34 if(temp && temp->right) q.push(temp->right); 35 } 36 } 37 return root; 38 } 39 };
Mamba never out

浙公网安备 33010602011771号