10.10 链表基础理论 203.移除链表元素

链表基础理论

1.基本使用

1)定义链表

struct ListNode{

    int val; // 节点上存储的元素

    ListNode* next; // 指向下一个节点的指针

    ListNode(int x): val(x), next(NULL){} // 节点的构造函数

};

2)初始化节点

ListNode* head = new ListNode(5);

2.与数组对比的性能分析


此外,链表长度不固定,数组长度固定。

203.移除链表元素

嘿嘿,还是不会写,比上次好一点的是肯自己写ListNode了

直接记使用虚拟头结点的方法

跟着写了一遍,感觉链表没有那么难。

注意 

1)建立两个节点:cur和dummyhead

2)指向下一个节点:dummyHead->next = head;

3)删除节点 

ListNode* tmp = cur -> next;//先设置新节点指向要删除的节点

cur -> next = cur -> next -> next;//指向下下个节点

delete tmp;//删除中间节点

4)节点->next指向的是之后的整个节点,如果指向下一个节点的值需要cur->next->val

5)建立虚拟头结点的最后,需要让head重新设置成虚拟头结点的next,释放虚拟头结点

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容