有关链表的算法的一些总结

如何判断两个链表是否相交

判断是否有相同的尾结点

如果两个链表相交,如何返回相交的第一个结点

如果相交,求出两个链表的长度,求出长度差值x,让长的那个链表先走x步,然后两个指针同时走,找到第一个结点。

链表判断有没有环

一个快指针,一个慢指针,同时走,如果快指针一直碰不到null,快慢指针相同了,证明有环

返回倒数第k个结点

两个指针,一个先走k步,再同时走,先走的那个到头了,另一个就是倒数第k个结点

返回中间结点

快慢指针,同时走,快指针到头了,满指针指着中间的结点

删除一个结点

把下个结点的内容复制到此结点上,删除下一个结点

发布了58 篇原创文章 · 获赞 0 · 访问量 999

猜你喜欢

转载自blog.csdn.net/Mason97/article/details/104354306