翻转链表

翻转链表

此题难点在于怎么在原链表基础上,不使用额外空间将链表进行翻转。

解题思路:

采用两个指针,一个遍历数组,一个指向前一个指针的前一项,每次改变前一个指针的指向,用temp存储,以便遍历。

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public ListNode reverseList(ListNode head) {
ListNode pre=null , cur=head;
while(cur!=null){
ListNode temp = cur.next;
cur.next = pre;
pre = cur;
cur = temp;
}
return pre;
}
}