天天看点

周记 .二

本周任务:

链表的增删改查;

反转链表;

完成情况:

全部完成;

需精进的地方:用递归来反转链表。

遇到的问题:

链表的概念:

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;
}