反转链表

题目描述

输入一个链表,反转链表后,输出新链表的表头。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public ListNode ReverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode p = head;
ListNode q = head.next;
ListNode r;
head.next = null;
while (q != null) {
r = q.next;
q.next = p;
p = q;
q = r;
}
head = p;
return head;
}