默认计划
1571人加入学习
(0人评价)
门徒计划-算法课(胡船长版)
价格 ¥ 2040.00
该课程属于 门徒计划 请加入后再学习

场景一:操作系统内的动态内存分配

场景二:LRU缓存淘汰算法

leetcode:

1.141.环形链表

思路一:

当要存入的节点,已经存在哈希表中,说明链表有环,遍历结束。

总结:我们只需要遍历这个链表,在遍历的过程中记录我们遍历过的节点。

如果遇见我们以前遍历过的节点,说明有环。

思路二:快慢指针

慢指针指向head节点,快指针指向head.next节点

当快指针的next节点为null,或者快指针本身节点为null时

说明该链表没有环,遍历结束。

如果链表有环,那么快慢指针一定会相遇,指向同一个节点,当指向同一个节点时,遍历结束。

 

题目就可以转化为,判断一个链表是否有环。

如果遍历某个节点为1,说明没环,就是快乐数

如果遍历到重复的节点值,说明有环,就不是快乐数。

  1. 141.环形链表
  2. 142.环形链表II
  3. 202.快乐数
  4. 206.反转链表
  5. 92.反转链表
  6. 25.k个一组反转链表
  7. 61.旋转链表

 

[展开全文]

1.1链表(List)及经典问题

  • 数据域,指针域
  • 线性结构
  • 查找O(n),插入O(1)删除O(1)
  • 应用场景:不适合快速的定位数据,合适动态插入和删除数据

经典链表实现方法

虚头:链表头地址有可能改变

[展开全文]

授课教师

高级算法研发工程师

课程特色

图文(1)
视频(40)
文档(17)
下载资料(9)