15.反转链表 Java
题目描述
输入一个链表,反转链表后,输出新链表的表头。
思路
本题的关键就是在于对next域的赋值,同时对下一个节点进行保存,然后对把下一个节点赋给新的节点,这样依次循环完所有的节点。每次使新插入的节点变成头第一个有效节点。
public ListNode ReverseList(ListNode head) {
if (head == null) {
return null;
}
ListNode pre = null;
ListNode next = null;
while (head != null) {
pre = head;
next = head.next;
next.next = pre;
head = next;
}
return pre;
}