JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

每日算法---单链表反转和是否有环

wys521 2024-11-02 14:58:50 精选教程 35 ℃ 0 评论

一、单链表反转

单链表反转方法比较多,比如先遍历值存在数组中然后输出,或者使用堆栈stack压栈然后出栈输出。以上两种方法对链表都未做修改,算不上真的反转。A->B反转后B->A.

有递归和非递归两种方式实现:


二、单链表是否有环


比如下面单链表是有环的

方法一:使用两个指针追赶实现

一个指针quick走一次经过两个节点,另一个慢指针slow走一次经过一个节点。方法说明:快指针走的比较快,若链表有环,则一定会追上慢指针,否则无环。


方法二:使用集合Set不重复的特效实现

借助集合set存放节点,若包含则有环


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表