反转一个单链表
分析:我们定义三个标记,记录上一个值,当前值,下一个值。就可以实现链表的反转了
JAVA:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode pre=null;//记录上一个
ListNode cur=head;//当前记录
while(cur!=null)
{
ListNode next=cur.next;//先把下一个值得地址存起来
cur.next=pre;//反转指向pre=NULL
pre=cur;//pre向后移,记住当前值得地址
cur=next;//cur也向后移,重复前面得动作,知道cur为NULL
}
return pre;
}
}