Leetcode___two pointers
Kobe Forever
自信乐观,善待他人,善待自己!
展开
-
leetcode[438] 找到字符串中所有字母异位词
题目:给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。思路:类似最小覆盖子串,利用双指针+滑动窗口的思想,区别是这里内层while循环条件(match数等于needs大小)及判断是结果索引的条件(right-left等于p的大小)。代码:class Solution {public: vector<int&...原创 2020-04-21 19:11:59 · 172 阅读 · 0 评论 -
leetcode[76] 最小覆盖子串
题目:给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。实例输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"思路:巧妙利用两个指针,操作滑动窗口的范围。外层循环:当滑动窗口不包含T中字符时,右移right指针,使得当前滑动窗口包含T中的字符。循环结束条件:right指针指向s字符串范围内层循环:...原创 2020-04-21 17:58:50 · 169 阅读 · 0 评论 -
剑指offer 面试题23 链表中环的入口节点
问题:给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。输入:链表头节点输出:环的入口节点或null思路:确定有没有环,利用两个不同步长的指针,遍历链表,如果步长大的指针遍历...原创 2020-02-26 16:48:14 · 104 阅读 · 0 评论 -
leetcode[344]Reverse String
问题:in-place翻转字符串(要求:不能开辟新的空间)输入:char[]字符数组思路:利用twopointers,交换两者字符。class Solution {public: void reverseString(vector<char>& s) { int i; int j; char c; ...原创 2019-03-06 23:21:29 · 104 阅读 · 0 评论 -
leetcode[28]Implement strStr()
问题:"火柴堆找针”[1]输入:“火柴堆”string haystack,“针”string needle输出:火柴堆中第一根针出现的位置思路:two pointer,外层循环遍历火柴堆,内层循环遍历针代码如下:class Solution {public: int strStr(string haystack, string needle) { ...原创 2019-03-10 22:00:50 · 138 阅读 · 0 评论