题目描述:
反转一个单链表:
示例:
输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
在刚开始接触这个题目的时候,自己初学,想到的是每一个节点单独存储,然后重新见一个链表来进行连接。
采用迭代的方法,是要遍历这个链表,将当前的节点的next指针指向其的前一个节点,第一个是nul值;
由于当前节点的next指针会发生变化,所以一开始要先保存其的下一个指针在修改next指针;
//递归
public static ListNode reverseList(ListNode h)
{
if(h==null||h.next==null) return h;
ListNode p=reverseList(h.next);
h.next.next=h;
h.next=null;
return p;
}
原文:https://www.cnblogs.com/wz-xd/p/12561959.html