Leetcode HOT面试总结

面试题目类型

双指针

二叉树

链表

滑动窗口

76题目,最小覆盖字串。

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""

我们可以用滑动窗口,因为他是只是覆盖,不需要我们要求顺序一样。每个字母的出现次数一样就可以。那么我们可以使用一个数组来统计字母和出现的次数

然后使用滑动窗口涵盖字串,进->统计次数->减少次数

当最小次数为0的时候,这个时候如果滑动窗口的长度小于结果的长度的时候

更新节点位置

然后出左节点,如果需要出现的为0了

那么最少字母次数++

然后左端点对应的字母需要次数++,左端点移动

最后需要的是结果左端点和右端点之间的

也就是我们常说的right-left+1

堆&栈