- 博客(3)
- 收藏
- 关注
原创 【双指针专题】LeetCode 392. 判断子序列
题目链接:思路 1 : 双指针判断子序列是模板问题,非常典型 & 常用要判断 s 是否为 t 的子序列,就要在 t 中按顺序匹配到 s 中的所有字符。所以我们遍历 s 中所有字符,通过一个指针遍历 t 中字符,直到匹配。然后继续遍历 s 中下一个字符,以此类推。如果匹配过程中指针超过了 t 的长度,说明 s 不是 t 的子序列,直接返回 false 即可class Solution {public: bool isSubsequence(string s, stri.
2021-09-27 17:53:43 65
原创 【双指针专题】LeetCode 344.反转字符串
题目链接:点击跳转思路 1 : 双指针两个指针分别指向头、尾,每次交换两个指针指向位置的元素。然后左指针右移,右指针左移。class Solution {public: void reverseString(vector<char>& s) { int n = s.size(); int l = 0, r = n - 1; while(l < r) { swap(s[l], s[r]
2021-09-27 17:49:14 64
原创 LeetCode 125. 验证回文串 题解
题目链接:125. 验证回文串题目类型:双指针思路:1. 题目要求忽略字母大小写,我们可以先遍历一遍字符串 s,把所有大写字母转换为小写字母。2. 题目要求只考虑数字和字母是否为回文,所以我们需要多次判断某个字符是否为数字和字母,在代码中封装了两个函数,分别做这两件事。3. 我们用 l, r 两个指针,分别从字符串两侧向中间行进。如果找到了两个数字或字母字符,我们比较这两个字符是否相同。若不相同说明不是回文串,直接 return false。如果遍历完全部字符串,说明是回文串,返回
2021-09-18 18:57:57 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人