这个题被考过很多次,面试一次,笔试一次,两次都没会,实在是惭愧。。。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode pReversedHead = null;
ListNode pNode = head;
ListNode pPrev = null;
while(pNode!=null){
ListNode pNext = pNode.next;
if(pNext==null){
pReversedHead=pNode;
}
pNode.next = pPrev;
pPrev = pNode;
pNode = pNext;
}
return pReversedHead;
}
}
剑指offer上的思路,确实是这样的,感觉pPrev这个不能少,因为头节点和其他节点不一样,具有特殊性。