输入一个链表,反转链表后,输出链表的所有元素。
思路分析:
链表反转就是将链表的指向方向调整为反方向。利用两个指针:当前指针和下一节点指针,然后让下一个节点指针指向前一个节点即可。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head==null)
return null;
ListNode pre=null;
ListNode next=null;
while(head!=null)
{
next=head.next; //记录下一个节点的引用
head.next=pre; //下一个节点的引用指向前一个节点
pre=head; //前一个节点指向当前节点
head=next; //当前节点指向下一个节点
}
return pre;
}
}