代码地址
单链表
如果是头部插入法.尾部插入法,头部删除法,那么时间复杂度 就是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 等等 这种能把自己写糊涂掉的写法了