链表 # 链表反转

2020-12-14  本文已影响0人  爱玩保龄球

链表题目: 反转一个单链表。
参考链接:https://leetcode-cn.com/problems/two-sum/solution/die-dai-di-gui-jie-fa-by-sunshy/
题解:参考注释

 //链表反转
 ListNode* ReverseList2(ListNode* head)
 {
     if (head == nullptr){
         return nullptr;
     }
     ListNode* reverseHead = nullptr;
     // 指针1:当前节点
     ListNode* cur = head;
     // 指针2:当前节点的前一个节点
     ListNode* pre = nullptr;
 
     while(cur != nullptr){
         // 指针3:当前节点的后一个节点
         ListNode* next = cur->next;
         if(next == nullptr){
             reverseHead = cur;
         }
         // 将当前节点的后一个节点指向前一个节点
         cur->next = pre; // 1-> null ;
         // 将前一个节点指向当前节点
         pre = cur; // pre = 1;
         // 将当前节点指向后一个节点
         cur = next; // cur = 2;
     }
     return reverseHead;
 }
上一篇下一篇

猜你喜欢

热点阅读