标签:type label 第一个 ext ber str etc within malloc
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };1
. 。*/
struct ListNode* reverseBetween(struct ListNode* head, int m, int n) {
if(head==NULL||head->next==NULL)
return head;
int i,j;
struct ListNode *p,*a,*q,*bot;
p=(struct ListNode*)malloc(sizeof(struct ListNode));
p->next=head;
bot=p;
for(i=1;i<m;i++)
{
p=p->next;//把q指针放在m前一个数
}
a=p->next;
for(i=m;i<n;i++)
{
q=a->next;
a->next=q->next;//a自动移动
q->next=p->next;//这里不能写成q—>next=a 只是第一次行,插入的节点放在上一次插入节点之前
p->next=q;
}
return bot->next;
}
本身就是一个链表置逆的,但是有很多种可能报错。
1.Line x: member access within null pointer of type… 加判断指针是否为空就行
2.可能会出现好多种比较特殊的数据格式我自己之前并没有建立空节点来让指针放前,后来这种形式的就没法运行了
leetcode.92. Reverse Linked List II
标签:type label 第一个 ext ber str etc within malloc
原文地址:https://www.cnblogs.com/yuhaowang/p/10177156.html