给你单链表的头节点 `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)