【剑指offer】反转链表

    科技2025-09-18  57

    题目描述

    输入一个链表,反转链表后,输出新链表的表头。

    链表结构

    struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };

    思路:遍历结点,将原链表头结点当尾结点,依次向前改变指针方向

    代码:

    class Solution { public: ListNode* ReverseList(ListNode* pHead) { ListNode *pre = NULL; //前一个结点 ListNode *p = pHead; //当前结点 ListNode *nxt = NULL; //下一个结点 while(p){ nxt = p->next; p->next = pre; pre = p; p = nxt; } return pre; } };

     

    Processed: 0.013, SQL: 8