关于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;
    }

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理