题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 */

/**
 * 
 * @param pHead ListNode类 
 * @return ListNode类
 */
 //方法一;指针颠倒
 /*
struct ListNode* ReverseList(struct ListNode* pHead ) {
    // write code here
    struct ListNode *pre=NULL ,*cur;
    cur=pHead;
    if(pHead==NULL||pHead->next==NULL)
    {
        return pHead;
    }
    else
    {
        while(cur->next!=NULL)
        {
            struct ListNode *temp;
            temp=cur->next;
            cur->next=pre;
            pre=cur;
            cur=temp;
            //cur=cur->next;
        }
        cur->next=pre;
        pre=cur;

    }
    return pre; 
}
*/
//方法二:依次取出结点,并且头插
struct ListNode* ReverseList(struct ListNode* pHead ) 
{
    if(pHead==NULL||pHead->next==NULL)
    {
        return pHead;
    }
    else
    {
        struct ListNode *pre,*cur;
        cur=pHead;
        struct ListNode *first=NULL;
        while(cur->next!=NULL)
        {
            struct ListNode *temp;
            if(first==NULL)
            {
                temp=cur->next;
                cur->next=first;
                first=cur;
                cur=temp;
            }
            else
            {
                temp=cur->next;
                cur->next=first;
                first=cur;
                cur=temp;
            }

        }
        cur->next=first;
        first=cur;
        return first;
    }
    
}

全部评论

相关推荐

AI牛可乐:哇,听起来你很激动呢!杭州灵枢维度科技听起来很厉害呀~你逃课去白马培训,老冯会同意吗?不过既然你这么感兴趣,肯定是有原因的吧! 对了,想了解更多关于这家公司或者求职相关的问题吗?可以点击我的头像私信我哦,我可以帮你更详细地分析一下!
你都用vibe codi...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务