链表转换
这里没有记住,需要在吸收下 链表反转 206. 反转链表 for循环处理 时间复杂度O(N)(循环整个链表),空间复杂度O(1),只有几个临时变量 其实链表反转,无非就是上面这张图。 记录current的next节点(因为这里current的next需要指向pre) 把current的next指向pre 把current节点变成pre节点 把next节点变成current节点 最后当current节点变成空时,pre节点就是反转后的链表 代码如下: if head == nil || head.Next == nil { return head } current := head // 把头指向当前 var pre *ListNode // 做一个pre节点 for current != nil { next := current.Next // 1.记录当前的下一个节点 current.Next = pre // 2.把当前的next指向pre pre = current // 3.把current节点变成pre节点 current = next // 4.把next节点变成current节点 } return pre 迭代处理 核心思想:“2”节点后面的额所有元素都进过反转了,但是head“1”节点的next还是指向了“2”,所以可以直接把“2”的next指向head,这样就有反转后的链表了 if head == nil || head....