Turn the array into a linked list

         var head = [1, 2, 3, 4, 5]
         function arrayToListNode(arr) {
            if (arr.length === 0) return null;
            let head = { val: arr[0], next: null }
            let pre = head;
            for (let i = 1; i < arr.length; i++) {
                pre.next = { val: arr[i], next: null }
                pre = pre.next
                // let node = { val: arr[i], next: null }
                // pre.next = node;
                // pre = node
            }
            return head
        }
        head = arrayToListNode(head)
        console.log('head', head)
      function arrToListNode (arr) {
        let head = new ListNode()
        let cur = head
        for (let i = 0; i < arr.length; i++) {
          let node = new ListNode(arr[i])
          cur.next = node
          cur = cur.next
        }
        return head.next
      }
      var arr = [1, 2, 3, 4]
      var res = arrToListNode(arr)
      console.log('res111', res)

Instance

61

var head = [1,2,3,4,5]
        var head = {
            val: 1,
            next: {
                val: 2,
                next: {
                    val: 3,
                    next: {
                        val: 4,
                        next: {
                            val: 5,
                            next: null
                        }
                    }
                }
            }
        }

Shallow copy in linked list

        var head1 = {
            val: 1,
            next: {
                val: 2,
                next: {
                    val: 3,
                    next: {
                        val: 4,
                        next: {
                            val: 5,
                            next: null
                        }
                    }
                }
            }
        }

        var cur1 = head1;
        while (cur1.next && cur1.val < 3) {
            cur1 = cur1.next  // 赋值不会触发
        }

        //1. 修改属性触发
        cur1.next = null 
        //2. 修改属性触发
        // cur1.next = cur1.next.next 

        console.log('head1', head1);
        console.log('cur1', cur1);

Equivalent to

        var head1 = {
            val: 1,
            next: {
                val: 2,
                next: {
                    val: 3,
                    next: {
                        val: 4,
                        next: {
                            val: 5,
                            next: null
                        }
                    }
                }
            }
        }

        var cur1 = head1;
        var cur2 = cur1;
        cur2.next = null


        console.log('head1', head1);
        console.log('cur1', cur1);
        console.log('cur2', cur2);

渣渣辉
1.3k 声望147 粉丝