前言
方法和思路如下
一、链接点这里
链接在这里哦!
二、使用步骤
1.引入库
代码如下(示例):
struct ListNode* removeNthFromEnd(struct ListNode* head, int n){
struct ListNode* newhead=(struct ListNode*)malloc(sizeof(struct ListNode));
newhead->next=head;
struct ListNode* slow=newhead;
struct ListNode* fast=newhead;
while(n--)
{
fast=fast->next;
}
struct ListNode* cur=newhead;
while(fast)
{
cur=slow;
fast=fast->next;
slow=slow->next;
}
cur->next=slow->next;
struct ListNode* ret=newhead->next;
free(slow);
free(newhead);
return ret;
}
2.读入数据
总结
这里用到了带哨兵位的头结点,方法很巧妙,可以解决很多的临界问题,链表的题大多数都要用到此类方法.
|