输入一个链表,反转链表后,输出链表的所有元素。
IDEA
head指向当前节点,next指向下一个节点,pre指向上一个节点
依次将节点重排:
1.记录当前节点的下一个节点:next=head.next;
2.将当前节点放到上一个节点前:head.next=pre;
3.当前节点变为上一个节点:pre=head;
4.向后移动当前节点:head=next;
CODE
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode pre=null,next=null;
while(head!=null){
next=head.next;
head.next=pre;
pre=head;
head=next;
}
return pre;
}
}