| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- 'use strict'
 
- /**
 
-  * Definition for binary tree with next pointer.
 
-  * function TreeLinkNode(val) {
 
-  *     this.val = val;
 
-  *     this.left = this.right = this.next = null;
 
-  * }
 
-  */
 
- function TreeLinkNode(val) {
 
-     this.val = val
 
-     this.left = this.right = this.next = null
 
- }
 
- /**
 
-  * @param {TreeLinkNode} root
 
-  * @return {void} Do not return anything, modify tree in-place instead.
 
-  */
 
- var connect = function (root) {
 
-     // Important! Try to understand all tricks
 
-     while (root) {
 
-         let nextLevelPre = new TreeLinkNode()
 
-         let prev = nextLevelPre
 
-         while (root) {
 
-             if (root.left) {
 
-                 prev.next = root.left // nextLevelPre is update here!
 
-                 prev = root.left // Then prev moves on, left nextLevelPre unchanged
 
-             }
 
-             if (root.right) {
 
-                 prev.next = root.right // The same
 
-                 prev = root.right
 
-             }
 
-             root = root.next // Next root
 
-             // Just like:
 
-             //->2   3   4   --\    2 ->3   4
 
-             // / \ / \ / \  --/   / \ / \ / \
 
-         }
 
-         root = nextLevelPre.next // Next level
 
-     }
 
- }
 
- function __main__() {
 
-     /*eslint no-console: ["error", { allow: ["log"] }] */
 
-     const logger = console.log.bind(console)
 
-     //       1
 
-     //      / \
 
-     //     2   3
 
-     //    /    /\
 
-     //   4    6  7
 
-     const n7 = new TreeLinkNode(7)
 
-     const n6 = new TreeLinkNode(6)
 
-     const n4 = new TreeLinkNode(4)
 
-     const n3 = new TreeLinkNode(3)
 
-     n3.left = n6
 
-     n3.right = n7
 
-     const n2 = new TreeLinkNode(2)
 
-     n2.left = n4
 
-     const n1 = new TreeLinkNode(1)
 
-     n1.left = n2
 
-     n1.right = n3
 
-     connect(n1)
 
-     logger(n2)
 
- }
 
- __main__()
 
 
  |