美文网首页
【算法打卡60天】Day5链表(下):如何轻松写出正确的链表代码

【算法打卡60天】Day5链表(下):如何轻松写出正确的链表代码

作者: 花生无翼 | 来源:发表于2019-12-28 15:59 被阅读0次

    打卡Day5
    今天学习了第一阶段的链表(下):如何轻松写出正确的链表代码?
    今日收获:几个写链表的代码技巧
    技巧一:理解指针或引用的含义

    对指针的理解:将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到这个变量。

    技巧二:警惕指针丢失和内存泄漏

    技巧三:利用哨兵简化实现难度
    1.什么是“哨兵”?
    链表中的“哨兵”节点是解决边界问题的,不参与业务逻辑。如果我们引入“哨兵”节点,则不管链表是否为空,head指针都会指向这个“哨兵”节点。我们把这种有“哨兵”节点的链表称为带头链表,相反,没有“哨兵”节点的链表就称为不带头链表。

    技巧四:重点留意边界条件处理
    经常用来检查链表是否正确的边界4个边界条件:
    1.如果链表为空时,代码是否能正常工作?
    2.如果链表只包含一个节点时,代码是否能正常工作?
    3.如果链表只包含两个节点时,代码是否能正常工作?
    4.代码逻辑在处理头尾节点时是否能正常工作?
    技巧五:举例画图,辅助思考

    技巧六:多写多练,没有捷径
    5 个常见的链表操
    1.单链表反转
    2.链表中环的检测
    3.两个有序链表合并
    4.删除链表倒数第n个节点
    5.求链表的中间节点

    以上5个链表操作,尽快自己写一遍,一遍不行,多写几遍,彻底掌握链表。
    本文参考【极客时间】专栏《数据结构与算法之美》

    相关文章

      网友评论

          本文标题:【算法打卡60天】Day5链表(下):如何轻松写出正确的链表代码

          本文链接:https://www.haomeiwen.com/subject/xzusoctx.html