链表_逆置

复制代码
//不包含头结点

typedef struct LNode{
    int data;
    LNode* next;
}LNode,*LinkList;

LinkList reverse(LinkList head)
{
    if(head==nullptr||head->next==nullptr)//头结点检测;
        return head;
    
    LinkList cur=nullptr;
    LinkList pre=nullptr;
    LinkList next=nullptr;
    //初始化指针
    pre=head;
    cur=pre->next;
    //节点逆置
    while (cur) {
        next=cur->next;//保存当前节点的下一个节点
        cur->next=pre;
        pre=cur;
        cur=next;
        
    }
    //处理头结点
    head->next=nullptr;
    head=pre;
    return head;
    
}
复制代码

 

posted @   helo_blog  阅读(127)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示