![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leecode
leecode习题经验积累
工藤旧一
小米公司 搜索算法工程师
展开
-
Leetcode:链表中快慢指针的使用场景
文章目录一、寻找某个节点1、返回倒数第k个节点 (持续补充中) 一、寻找某个节点 1、返回倒数第k个节点 这个可以用一般的思维模式去处理,也就是先遍历一遍确定链表长度,例如以下处理方式: 也可以使用快慢指针: 思路如下: 寻找倒数第k个节点,是一个找链表上的某个节点的问题了,这是快慢指针最擅长的场景。 那如何找第k个元素呢?我们一开始就让fast指针比slow指针快k个元素,接下来,两个指针都是一步一步来往下走。那么当fast指针走完时,slow指针就刚刚好停留在第k个元素上。 这是因为两个指针始终相距原创 2020-08-24 20:11:18 · 180 阅读 · 0 评论 -
leetcode链表类型题目整理(一)
文章目录题目1:删除中间节点 用于记录在leetcode上处理链表问题时遇到的困难或是very nice的处理技巧。 (持续补充中…) 题目1:删除中间节点 注意事项: 注意题目链表定义 无法访问到head,只能访问到所给的节点(以及后续节点) 不知道pre,可以将next的值赋给当前,然后将当前当做pre,删掉next 正确答案: ...原创 2020-08-24 19:56:53 · 212 阅读 · 0 评论 -
链表的中间结点问题
因为链表的特殊性:链表不能通过下标访问对应的元素 所以要采用特殊的办法进行处理 1、通过将链表内容添加到数组中,转为处理数组问题: class Solution: def middleNode(self, head: ListNode) -> ListNode: A = [head] while A[-1].next: #A[-1]表示数组最后一个元素...原创 2020-03-23 07:45:44 · 100 阅读 · 0 评论