35. 反转链表

 

 

 

 

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode *prev = nullptr;
        ListNode *cur = head;
       while(cur){
           ListNode *next = cur->next;
           cur->next = prev;//把当前指针的next指针指向前序节点
           prev = cur;//指完之后,把prev向后移动一位。
           cur = next;//cur向后移动
       }
       return prev;
    }
};

 

 

 

 

 

pre = cur,表示把当前的cur节点换个名字,改叫pre节点,cur节点的信息会把pre的信息都覆盖。

和下面的一样

int i =2,j=100;

j = i; //变量i的信息把j覆盖的信息覆盖掉了。但这个变量还是叫j。

 

posted @ 2020-02-13 23:50  靖愁  阅读(102)  评论(0编辑  收藏  举报