力扣刷题-反转链表

🌈个人主页:羽晨同学

💫个人格言:“成为自己未来的主人~”   

 

首先我们先来看代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
typedef struct ListNode SListNode;
struct ListNode* reverseList(struct ListNode* head)
{
    struct ListNode* n1=NULL;
    struct ListNode* n2=head;
    while(n2)
    {
        struct ListNode* pre = n2->next;
        n2->next = n1;
        n1=n2;
        n2=pre;
    }

    return n1;
}

链表的反转其实更像是一个模块,在许多其他题目中都有相应的组成。

在这道题目当中,有几个需要注意的点:

一个是pre节点的设置,若是不仅行设置的话,我们无法更新n2节点。

另外一个则是逻辑关系的考虑,代码之间的逻辑要得到充分的考虑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值