![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
文章平均质量分 64
bug 郭
此人很懒,什么都没有写
展开
-
剑指offer链表篇
链表中倒数最后k个结点遍历拿到数组长度,再次遍历size-k返回即可!我们可以通过双指针,让fast先走k个节点,slow指针再开始出发,当fast走完,slow就到了倒数第k个节点位置!} }pythonclass Solution : def FindKthToTail(self , pHead : ListNode , k : int) - > ListNode : # write code here # 判断是否有倒数第k个节点!原创 2022-10-22 10:10:23 · 570 阅读 · 0 评论 -
把数组排成最小的数_数组中的逆序对(归并统计法)_数字在升序数组中出现的次数_丑数(剑指offer)
题目链接这里题目重点就是自己设计一个排序,通过接口!字符串拼接>说明s1和s2位置需要交换!读懂题意!插入考虑边界问题!数组中的逆序对(归并统计法)题目链接数字在升序数组中出现的次数题目链接链接...原创 2022-06-29 17:13:33 · 404 阅读 · 14 评论 -
二叉树中和为某一值的路径(一)(二)(三)(剑指offer)
这里采用两个栈,一个用于存节点,一个用于存对应路径和, 和刚刚通过层序遍历用保存当前路径和作用类似!二叉树中和为某一值的路径(二)题目链接描述:这题和1一样,这里只不过需要借助数组集合保存结果集即可!注意:这样结果会重复添加2次!如图就是一整个回溯的过程!题目链接时间复杂度:两层递归!空间复杂度:每层递归最深就只有我们也可以通过+解决这个问题!我们这里最重要的就是实现路径起始节点的移动!我们可以通过哈希表保存每条路径和出现的次数!如果当到达一个节点后, 该节点位置的值加上上一层的路径和原创 2022-06-25 14:06:54 · 310 阅读 · 8 评论 -
在二叉树(搜索树)中找到两个节点的最近公共祖先(剑指offer)
题目链接 \时间复杂度最坏情况递归遍历完所有节点!空间复杂度,递归深度最坏为时间复杂度: 最坏情况,遍历完所有节点,也就是二叉树单分支,变成了链表,所以需要比较所有节点!空间复杂度:最坏情况,所有节点都记录保存!在二叉树中找到两个节点的最近公共祖先题目链接描述:这里和上面的搜索二叉树不同,不能直接利用搜索二叉树的特性,直接找到该路径!我们这里只是普通的二叉树,需要遍历所有的节点,然后将其路径找出!而我们知道找路径就是找到他这一条路径的祖先,也就是说将每个节点的父节点关系保存即可!我们原创 2022-06-24 13:35:29 · 2255 阅读 · 4 评论 -
两个链表的第一个公共节点_链表中环的入口(剑指offer)
题目链接上面的方法就是借助了路程相等,相同速度如果有公共节点肯定会相遇,我们可以将两个链表加起来,就是一个链表遍历结束,就从另一个链表的开始遍历,另一链表也是如此,就保证了长度相等,就和上面方法类似了,看下面动图分析!链表中环的入口结点链表中环的入口结点.........原创 2022-06-23 06:30:00 · 259 阅读 · 14 评论 -
滑动窗口__最长不含重复字符的子符串_和为S的连续正整数序列(剑指offer)
滑动窗口是指在数组、字符串、链表等线性结构上的一段,类似一个窗口,而这个窗口可以依次在上述线性结构上从头到尾滑动,且窗口的首尾可以收缩。我们在处理滑动窗口的时候,常用双指针来解决,左指针维护窗口左界,右指针维护窗口右界,二者同方向不同速率移动维持窗口。...原创 2022-06-19 09:55:35 · 196 阅读 · 15 评论