• 方法一:迭代

      1. // head为初始给的链表头
      2. // 时间复杂度O(n),空间复杂度O(1)
      3. const reverseList = (head) => {
      4. let pre = null
      5. let cur = head
      6. while(cur) {
      7. const next = cur.next
      8. cur.next = pre
      9. pre = cur
      10. cur = next
      11. }
      12. }
    • 方法二:递归

      // 递归版本太复杂,放弃