给你单链表的头节点 `head` ,请你反转链表,并返回反转后的链表。

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

class Solution {
    // public ListNode reverseList(ListNode head) {
    //     ListNode per =head;
    //     ListNode lis = null;
    //     while(per != null){
    //         ListNode none = per.next;
    //         per.next = lis;
    //         lis = per;
    //         per =none;
    //     }
    // return lis;
    // } //迭代法 利用双指针迭代改变
    public ListNode reverseList1(ListNode head){
        if(head.next==null){
            return head;
        }
        ListNode p = reverseList1(head.next);//利用新链表保存返回中的已经反转的列表
        head.next.next =head;
        head.next=null;
        return p;
    }//递归法
}

![image-20211101205538741](LeetCode 刷题.assets/image-20211101205538741.png)

上一篇:leetcode-463. 岛屿的周长


下一篇:Java 封装