代码语言:javascript复制
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
代码语言:javascript复制/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode curNode=head;
ListNode preNode=null;
ListNode tempNode=null;
while(curNode!=null){
tempNode=curNode;
curNode=curNode.next;
tempNode.next=preNode;
preNode=tempNode;
}
return tempNode;
}
非常简单:
只需要讲一个暂时节点指向跟cur当前节点一样即可,让暂时节点反向指向pre上一个节点,更新pre指向cur当前节点,再更新cur当前节点到下一个, 最后把它放到while循环中(只要cur!=null) 即可