数据结构和算法-链表

本文详细介绍了单链表、双链表及循环链表的基本操作,包括头部和尾部插入、删除的实现,并提供了代码下载链接。特别地,文章重点讲解了如何通过快慢指针判断一个链表是否为循环链表,这种方法简洁且有效。同时,文中还分享了避免在链表操作中出现混淆的技巧。
摘要由CSDN通过智能技术生成

代码地址

单链表,双链表,循环链表代码下载地址,亲测有效

单链表在这里插入图片描述

如果是头部插入法.尾部插入法,头部删除法,那么时间复杂度 就是O(1)

循环链表

在这里插入图片描述
怎么判断一个链表是循环链表呢?
第一步:将两个节点nodeOne 和 nodeTwo 都指向头节点
第二步:在while循环中,nodeOne 每次都跑一个节点 nodeOne = nodeOne.next, nodeTwo每次都跑两个节点 nodeTwo = nodeTwo.next.next
第三步:如果nodeTwo追上了nodeOne,则为循环链表,如果nodeTwo为null了,则不是循环链表

双向链表

在这里插入图片描述

手写链表的添加和删除的技巧(单链表,双链表,循环链表代码下载地址,亲测有效

首先获取到需要获取到 添加或者删除的位置的node已经与它相邻的node,这样就不会有很多 newNode.next = node.next.next ,node.pre = node.next.pre 等等 这种能把自己写糊涂掉的写法了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值