双指针
双指针
_illusion_
知乎主页:https://www.zhihu.com/people/illusions-29/posts
展开
-
LeetCode-3.无重复字符的最长子串——初见双指针
题目: 无重复字符的最长子串思路????:双指针题指针q永远步进一步,指针p不动,直到p/q两个指针指向的字符一样;当q指针指向的内容,和p~q之间的内容有重复时:2.1 返回p/q之间的位差,即当前的无重复子串长度2.2 再找到和q指针当前指向的字符一样的字符在p~q中的位置,将p指针指向其下一个位置;对于q而言还是步进,和普通无异当q指针到达字符串末尾的时候循环截止codeclass Solution(object): def lengthOfLongestSubs原创 2020-06-04 11:41:27 · 314 阅读 · 0 评论 -
LeetCode-5.最长回文子串——又见双指针
题目:最长回文子串思路????——还是双指针回文序列,那就是正着反着读一样。所以很容易想到双指针夹逼的方法指定指针p从字符串前端开始循环,同时指定指针q从字符串后端开始循环(往前走,一次一步),q每走完全程(遇到p)或得到了答案,则p前进一步,q再从末尾开始循环; 当p、q双指针指向的字符一致时,查看[p:q+1]的子串,正读、反读是否一致: 若一致,则和当前回文子串比长度,留更长的那个。然后break内从的q指针循环(因为q越循环子串越短,后面的没必要再查) 若不一致,那就pa原创 2020-06-10 20:40:26 · 467 阅读 · 0 评论