反转链表

#include
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;
}

你可能感兴趣的:(前端后端c++算法)