代码随想录第三天| 203.移除链表元素、707.设计链表、206.反转链表

链表理论基础

节点构造:

structListNode{

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

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

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



203.移除链表元素

思路:

增加虚拟头节点后遍历查找

debug:

1.while(p->next!=NULL)

2.构造函数的使用

看视频后:

不用虚拟头节点:

头节点和非头节点分情况讨论:注意p!=NULL&&p->next!=NULL

使用虚拟头节点:

同一种方式操作节点,记得返回的是dummyHead->next;


707.设计链表

刚开始写的乱七八糟。

看代码抄第一次通过,然后看视频自己写代码再对照代码修改第二次通过,自己写代码第三次通过。

本题周日需要再写一遍。



206.反转链表

思路:

用两个指针指向cur和prev,但没想怎么解决保存cur后面的指针的问题。

看视频后:

用temp存储后面的指针,且初始化的时候prev为空,cur为head,观察得到cur为空时结束循环,返回最后的prev。


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

推荐阅读更多精彩内容