数据结构复习 反转链表

    科技2025-02-08  17

    思路

    定义两个指针: pre 和 cur;pre 在右 cur 在左,初始cur指向NULL,pre指向第一个结点每次让 pre 的 next指向 cur ,实现一次局部反转局部反转完成之后, pre 和 cur同时往前移动一个位置,循环上述过程,直至 pre到达链表尾部 class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* cur = NULL, *pre = head; while (pre != NULL) { // 暂时保存pre的next,便于后面pre向后移动 ListNode* t = pre->next; // 让pre的next指向cur,也就是局部反转 pre->next = cur; // cur指向pre指向的结点,从而实现cur的移动 cur = pre; // 让pre向后移动 pre = t; } return cur; } };

    作者:huwt 链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/solution/fan-zhuan-lian-biao-yi-dong-de-shuang-zhi-zhen-jia/

    Processed: 0.010, SQL: 8