例: 1–>2–>3–>4–>5–>null
5–>4–>3–>2–>1–>null
思路:1 2 3 4 5 null
2 1 3 4 5 null
3 2 1 4 5 null
4 3 2 1 5 null
5 4 3 2 1 null
class Solution {
public ListNode reverseList(ListNode head) {
ListNode result = null;
ListNode cur = head;
while (cur != null) {
ListNode next = cur.next;
cur.next = result;
result = cur;
cur = next;
}
return result;
}
}
or
class Solution {
public ListNode reverseList(ListNode head) {
if (head == null) {
return null;
}
ListNode p1 = null;
ListNode p2 = head;
ListNode p3 = head.next;
while (p2 != null) {
p2.next = p1;
p1 = p2;
p2 = p3;
if (p3 != null) {
p3 = p3.next;
}
}
return p1;
}
}