struct ListNode {
int val;
struct ListNode *next;
};
//创建结点
ListNode* creatnode(int num)
{
ListNode* newnode = (ListNode*)malloc(sizeof(ListNode));
newnode->val = num;
newnode->next = NULL;
return newnode;
}
//尾插法
void Listpushtail(ListNode** phead, int num)
{
assert(phead);
if (*phead == NULL)
{
(*phead) = creatnode(num);
}
else
{
ListNode* tail = *phead;
while (tail->next)
{
tail = tail->next;
}
tail->next = creatnode(num);
}
}
//打印每一个结点的值
void Listprint(ListNode* phead)
{
assert(phead);
while (phead)
{
printf("%d->", phead->val);
phead = phead->next;
}
printf("END\n");
}
这些是远远不够的,但是对于刷题的我来说,当遇到错误时是可以进行自查的。我会继续增添接口函数的。