莫比乌斯反演 2021-12-18 07:49 采纳率: 100%
浏览 18
已结题

突然想不清楚了啊,那个链表翻转问题,为什么要这么写

突然想不清楚了啊,那个链表翻转问题,为什么要这么写
就是迭代的那种方式

  • 写回答

1条回答 默认 最新

  • 英雄哪里出来 2021年博客之星Top1 2021-12-18 07:50
    关注
    
    struct ListNode* reverseList(struct ListNode *l) {
        struct ListNode *pre = l, *now = l->next;
        struct ListNode *head = l;
        while(now) {
            pre->next = now->next;       // (1) 将 now 从链表中剥离出来;
            now->next = head;            // (2) 将 now 插入到之前的链表头之前;
            head = now;                  // (3) 让 now 成为新的链表头;
            
            now = pre->next;             // (4) now 也前进一格;
        }
        return head;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月18日
  • 已采纳回答 12月18日
  • 创建了问题 12月18日