141. Linked List Cycle
Algorithm
本周做的算法题是 141. Linked List Cycle。
问题描述
给定一个单链表,判断是否其是否存在环路。
思路
- 将要删除的节点之后向节点的值赋值到删除的节点移动,后续的节点补上,若删除是倒数第二个节点,时间复杂度为 O(n-1), 其中n为链表的长度。
1 | public void deleteNode(ListNode node) { |
- 将要删除的节点的值替换为后面一个节点的值,然后删除节点下一个指针,指向删除节点的下一个节点再下一个节点。时间复杂度为 O(n)。
1 | public void deleteNode(ListNode node) { |
Review: 每周一篇英文文章
Tip
Author: cloudfeng
Link: https://cloudfeng.github.io/2018/11/11/arts/algorithm/141_Linked_List_Cycle/
License: 知识共享署名-非商业性使用 4.0 国际许可协议