方法 1:数组滑动窗口
思路
- 用两个数组
cnt_p
、cnt_s
分别存储p
每个字符出现的次数以及s中要判断的字符串
的每个字符出现的次数。 cnt_p
若和cnt_s
相等,则说明当前判断的两个字符串每个字符出现的次数都相等,为字母异位词。
代码
|
|
复杂度
- 时间复杂度:$O(n)$
- 空间复杂度:$O(1)$
方法 1:双指针滑动窗口
思路
- 原理同上,只是把用数组下标保存滑动窗口的边界改为了用双指针保存,更加直观。
代码
|
|
复杂度
- 时间复杂度:$O(n)$
- 空间复杂度:$O(1)$
cnt_p
、cnt_s
分别存储 p
每个字符出现的次数以及 s中要判断的字符串
的每个字符出现的次数。cnt_p
若和 cnt_s
相等,则说明当前判断的两个字符串每个字符出现的次数都相等,为字母异位词。
|
|
|
|