本周任务:
链表的增删改查;
反转链表;
完成情况:
全部完成;
需精进的地方:用递归来反转链表。
遇到的问题:
链表的概念:
1,头指针:存放第一个有效数据的结点。
2,头结点:头结点的数据类型和首节点的类型一模一样
头结点的是首节点前面的那个结点
头结点并不存放有效数据
设置头结点的目的是为了方便对链表的操作。
3,首结点:存放第一个有效数据的结点。
4,尾节点:存放最后一个有效数据的结点。
反转链表
struct ListNode* reverseList(struct ListNode* head) {
if (head==NULL)
return head;
struct ListNode* p;
struct ListNode* new;
p=head;
new=p->next;
p->next=NULL;
while(new!=NULL){
p=new;
new=new->next;
p->next=head;
head=p;
}
return head;
}