nikunjsoni

116

May 9th, 2021
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  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.  
  19. class Solution {
  20. public:
  21.     Node* connect(Node* root) {
  22.         if(!root) return NULL;
  23.         root->next = NULL;
  24.         auto head = root;
  25.         while(root && root->left){
  26.             auto nextLevel = root->left;
  27.             auto nextNode = root->left;
  28.             while(root){
  29.                 nextNode->next = root->right;
  30.                 nextNode = nextNode->next;
  31.                 nextNode->next = (root->next) ? root->next->left : NULL;
  32.                 root = root->next;
  33.                 nextNode = nextNode->next;
  34.             }
  35.             root = nextLevel;
  36.         }
  37.         return head;
  38.     }
  39. };
Advertisement
Add Comment
Please, Sign In to add comment