链表反转

#include<iostream>
struct ListNode{
    int data=0;
    ListNode* next=NULL;
};

// 反转链表

// 题意:反转一个单链表。
// 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL

class Solution{
    public:
        ListNode* reverseList(ListNode* head){
            ListNode* temp;
            ListNode* cur=head;
            ListNode* pre=NULL;
            while(cur){
                //保存下一个节点
                temp=cur->next;
                //下一个指向头一个节点
                cur->next=pre;
                // 头节点向下移动
                pre=cur;
                //下一个节点向下移动
                cur=temp;
            }
            return pre;
        }
};

int main(){
    return 0;
}
posted @ 2023-01-10 05:24  阿芯爱编程  阅读(24)  评论(0)    收藏  举报