无头节点(本题答案)
**无头节点**(本题答案)
struct ListNode *readlist()
{
int data;
struct ListNode *head=NULL; //头节点为空
struct ListNode *p;
while(scanf("%d",&data)&&data!=-1)
{
struct ListNode *q=(struct ListNode*)malloc(sizeof(struct ListNode));
q->data=data;
q->next=NULL;
if(head!=NULL)
p->next=q; //增加链表
else head=q; //第一次运行while 时 这一步都会做
p=q; //把q的值交给p 使得下一次p->next=q; 起到q1 ->q2->q3->q4 的作用
}
return head; //返回头节点 有了头 就可以输出下面所有的数据
}
struct ListNode *getodd( struct ListNode **L ) //二级指针?
{
struct ListNode *head0=NULL,*head1=NULL,*p0