乐趣区

关于java:24-反转链表三指针递归

24. 反转链表

思路:三指针

pre、cur、curNext

  • 初始化:
  • 第一个节点指向 null
  • cur.next 指向 pre
  • 挪动 +cur.next 指向 pre

  • 直到 curNext 是空 + 还须要一次 cur.next 指向 pre,返回 cur

  • 或者直到 cur 是空,返回 pre

操作:

思路:递归

  • 返回条件:head==null||head.next==null
  • 递归体:
    cur 的下一个节点的 next 指针指向 cur
    cur 的 next 指针指向 null


操作:

    public ListNode reverseList(ListNode head) {if (head==null||head.next==null) return head;
        
        ListNode newhead  = reverseList(head.next);
        
        head.next.next = head;
        head.next = null;
        
        return newhead;
    }
退出移动版