跳至主要內容

双指针


双指针

全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号标题题解标签难度
0011盛最多水的容器open in new windowJSopen in new window贪心 数组 双指针
0015三数之和open in new windowJSopen in new window数组 双指针 排序
0016最接近的三数之和open in new windowJSopen in new window数组 双指针 排序
0018四数之和open in new windowJSopen in new window数组 双指针 排序
0019删除链表的倒数第 N 个结点open in new windowJSopen in new window链表 双指针
0026删除有序数组中的重复项open in new windowJSopen in new window数组 双指针
0027移除元素open in new windowJSopen in new window数组 双指针
0028找出字符串中第一个匹配项的下标open in new window双指针 字符串 字符串匹配
0031下一个排列open in new window数组 双指针
0042接雨水open in new windowJSopen in new window 数组 双指针 2+
0061旋转链表open in new windowJSopen in new window链表 双指针
0075颜色分类open in new window数组 双指针 排序
0080删除有序数组中的重复项 IIopen in new windowJSopen in new window数组 双指针
0082删除排序链表中的重复元素 IIopen in new windowJSopen in new window链表 双指针
0086分隔链表open in new windowJSopen in new window链表 双指针
0088合并两个有序数组open in new windowJSopen in new window数组 双指针 排序
0125验证回文串open in new windowJSopen in new window双指针 字符串
0141环形链表open in new windowJSopen in new window哈希表 链表 双指针
0142环形链表 IIopen in new windowJSopen in new window哈希表 链表 双指针
0143重排链表open in new windowJSopen in new window 递归 链表 1+
0148排序链表open in new windowJSopen in new window链表 双指针 分治 2+
0151反转字符串中的单词open in new windowJSopen in new window双指针 字符串
0160相交链表open in new windowJSopen in new window哈希表 链表 双指针
0161相隔为 1 的编辑距离open in new window双指针 字符串
0165比较版本号open in new window双指针 字符串
0167两数之和 II - 输入有序数组open in new windowJSopen in new window数组 双指针 二分查找
0170两数之和 III - 数据结构设计open in new window设计 数组 哈希表 2+
0186反转字符串中的单词 IIopen in new window双指针 字符串
0189轮转数组open in new windowJSopen in new window数组 数学 双指针
0202快乐数open in new windowJSopen in new window哈希表 数学 双指针
0234回文链表open in new windowJSopen in new window 递归 链表 1+
0244最短单词距离 IIopen in new window设计 数组 哈希表 2+
0246中心对称数open in new window哈希表 双指针 字符串
0251展开二维向量open in new window设计 数组 双指针 1+
0253会议室 IIopen in new window贪心 数组 双指针 3+
0259较小的三数之和open in new windowJSopen in new window数组 双指针 二分查找 1+
0272最接近的二叉搜索树值 IIopen in new window 深度优先搜索 4+
0277搜寻名人open in new window贪心 双指针 1+
0283移动零open in new windowJSopen in new window数组 双指针
0287寻找重复数open in new window位运算 数组 双指针 1+
0295数据流的中位数open in new window设计 双指针 数据流 2+
0344反转字符串open in new windowJSopen in new window双指针 字符串
0345反转字符串中的元音字母open in new windowJSopen in new window双指针 字符串
0349两个数组的交集open in new window数组 哈希表 双指针 2+
0350两个数组的交集 IIopen in new window数组 哈希表 双指针 2+
0360有序转化数组open in new window数组 数学 双指针 1+
0392判断子序列open in new windowJSopen in new window双指针 字符串 动态规划
0408有效单词缩写open in new window双指针 字符串
0443压缩字符串open in new window双指针 字符串
0455分发饼干open in new window贪心 数组 双指针 1+
0457环形数组是否存在循环open in new window数组 哈希表 双指针
0475供暖器open in new window数组 双指针 二分查找 1+
0481神奇字符串open in new window双指针 字符串
0522最长特殊序列 IIopen in new window数组 哈希表 双指针 2+
0524通过删除字母匹配到字典里最长单词open in new window数组 双指针 字符串 1+
0532数组中的 k-diff 数对open in new window数组 哈希表 双指针 2+
0541反转字符串 IIopen in new window双指针 字符串
0556下一个更大元素 IIIopen in new window数学 双指针 字符串
0557反转字符串中的单词 IIIopen in new window双指针 字符串
0567字符串的排列open in new window哈希表 双指针 字符串 1+
0581最短无序连续子数组open in new window 贪心 数组 3+
0611有效三角形的个数open in new windowJSopen in new window贪心 数组 双指针 2+
0633平方数之和open in new window数学 双指针 二分查找
0653两数之和 IV - 输入二叉搜索树open in new window 深度优先搜索 广度优先搜索 4+
0658找到 K 个最接近的元素open in new window数组 双指针 二分查找 3+
0680验证回文串 IIopen in new window贪心 双指针 字符串
0696计数二进制子串open in new window双指针 字符串
0719找出第 K 小的数对距离open in new window数组 双指针 二分查找 1+
0723粉碎糖果open in new window数组 双指针 矩阵 1+
0763划分字母区间open in new window贪心 哈希表 双指针 1+
0777在LR字符串中交换相邻字符open in new window双指针 字符串
0795区间子数组个数open in new window数组 双指针
0809情感丰富的文字open in new window数组 双指针 字符串
0821字符的最短距离open in new window数组 双指针 字符串
0825适龄的朋友open in new window数组 双指针 二分查找 1+
0826安排工作以达到最大收益open in new window贪心 数组 双指针 2+
0832翻转图像open in new window数组 双指针 矩阵 1+
0838推多米诺open in new window双指针 字符串 动态规划
0844比较含退格的字符串open in new windowJSopen in new window 双指针 字符串 1+
0845数组中的最长山脉open in new window数组 双指针 动态规划 1+
0870优势洗牌open in new window贪心 数组 双指针 1+
0876链表的中间结点open in new windowJSopen in new window链表 双指针
0881救生艇open in new window贪心 数组 双指针 1+
0905按奇偶排序数组open in new window数组 双指针 排序
0917仅仅反转字母open in new window双指针 字符串
0922按奇偶排序数组 IIopen in new window数组 双指针 排序
0923三数之和的多种可能open in new window数组 哈希表 双指针 2+
0925长按键入open in new window双指针 字符串
0942增减字符串匹配open in new window贪心 数组 双指针 1+
0948令牌放置open in new window贪心 数组 双指针 1+
0969煎饼排序open in new window贪心 数组 双指针 1+
0977有序数组的平方open in new window数组 双指针 排序
0986区间列表的交集open in new window数组 双指针
1023驼峰式匹配open in new window字典树 双指针 字符串 1+
1040移动石子直到连续 IIopen in new window数组 数学 双指针 1+
1048最长字符串链open in new window数组 哈希表 双指针 2+
1055形成字符串的最短路径open in new window贪心 双指针 字符串
1089复写零open in new window数组 双指针
1099小于 K 的两数之和open in new window数组 双指针 二分查找 1+
1147段式回文open in new window贪心 双指针 字符串 3+
1163按字典序排在最后的子串open in new window双指针 字符串
1214查找两棵二叉搜索树之和open in new window 深度优先搜索 4+
1229安排会议日程open in new window数组 双指针 排序
1237找出给定方程的正整数解open in new window数学 双指针 二分查找 1+
1265逆序打印不可变链表open in new window 递归 链表 1+
1332删除回文子序列open in new window双指针 字符串
1346检查整数及其两倍数是否存在open in new window数组 哈希表 双指针 2+
1385两个数组间的距离值open in new window数组 双指针 二分查找 1+
1471数组中的 k 个最强值open in new window数组 双指针 排序
1498满足条件的子序列数目open in new window数组 双指针 二分查找 1+
1508子数组和排序后的区间和open in new window数组 双指针 二分查找 1+
1537最大得分open in new window贪心 数组 双指针 1+
1570两个稀疏向量的点积open in new window设计 数组 哈希表 1+
1574删除最短的子数组使剩余数组有序open in new window 数组 双指针 2+
1577数的平方等于两数乘积的方法数open in new window数组 哈希表 数学 1+
1616分割两个字符串得到回文串open in new window双指针 字符串
1634求两个多项式链表的和open in new window链表 数学 双指针
1679K 和数对的最大数目open in new window数组 哈希表 双指针 1+
1712将数组分成三个子数组的方案数open in new window数组 双指针 二分查找 1+
1721交换链表中的节点open in new window链表 双指针
1750删除字符串两端相同字符后的最短长度open in new window双指针 字符串
1754构造字典序最大的合并字符串open in new window贪心 双指针 字符串
1755最接近目标值的子序列和open in new window位运算 数组 双指针 2+
1768交替合并字符串open in new window双指针 字符串
1782统计点对的数目open in new window 双指针 二分查找
1793好子数组的最大分数open in new window 数组 双指针 2+
1813句子相似性 IIIopen in new window数组 双指针 字符串
1826有缺陷的传感器open in new window数组 双指针
1842下个由相同数字构成的回文串open in new window双指针 字符串
1850邻位交换的最小次数open in new window贪心 双指针 字符串
1855下标对中的最大距离open in new window贪心 数组 双指针 1+
1861旋转盒子open in new window数组 双指针 矩阵
1868两个行程编码数组的积open in new window数组 双指针
1871跳跃游戏 VIIopen in new window双指针 字符串 前缀和
1877数组中最大数对和的最小值open in new window贪心 数组 双指针 1+
1963使字符串平衡的最小交换次数open in new window 贪心 双指针 1+
2000反转单词前缀open in new window双指针 字符串
2035将数组分成两个数组并最小化数组和的差open in new window位运算 数组 双指针 4+
2046给按照绝对值排序的链表排序open in new window链表 双指针 排序
2095删除链表的中间节点open in new window链表 双指针
2105给植物浇水 IIopen in new window数组 双指针 模拟
2108找出数组中的第一个回文字符串open in new window数组 双指针 字符串
2130链表最大孪生和open in new window 链表 双指针
2149按符号重排数组open in new window数组 双指针 模拟
2161根据给定数字划分数组open in new window数组 双指针 模拟
2193得到回文串的最少操作次数open in new window贪心 树状数组 双指针 1+
2234花园的最大总美丽值open in new window贪心 数组 双指针 2+
2300咒语和药水的成功对数open in new window数组 双指针 二分查找 1+
2330有效的回文 IVopen in new window双指针 字符串
2332坐上公交的最晚时间open in new window数组 双指针 二分查找 1+
2337移动片段得到字符串open in new window双指针 字符串
2367算术三元组的数目open in new window数组 哈希表 双指针 1+
2396严格回文的数字open in new window脑筋急转弯 数学 双指针
2406将区间分为最少组数open in new window贪心 数组 双指针 3+
2410运动员和训练师的最大匹配数open in new window贪心 数组 双指针 1+
2422使用合并操作将数组转换为回文序列open in new window贪心 数组 双指针
2441与对应负数同时存在的最大正整数open in new window数组 哈希表 双指针 1+
2462雇佣 K 位工人的总代价open in new window数组 双指针 模拟 1+
2465不同的平均值数目open in new window数组 哈希表 双指针 1+
2486追加字符以获得子序列open in new window贪心 双指针 字符串
2491划分技能点相等的团队open in new window数组 哈希表 双指针 1+
2511最多可以摧毁的敌人城堡数目open in new window数组 双指针
2540最小公共值open in new window数组 哈希表 双指针 1+
2562找出数组的串联值open in new window数组 双指针 模拟
2563统计公平数对的数目open in new window数组 双指针 二分查找 1+
2565最少得分子序列open in new window双指针 字符串 二分查找
2570合并两个二维数组 - 求和法open in new window数组 哈希表 双指针
2576求出最多标记下标open in new window贪心 数组 双指针 2+
2592最大化数组的伟大值open in new window贪心 数组 双指针 1+
2697字典序最小回文串open in new window双指针 字符串
LCP 18早餐组合open in new window数组 双指针 二分查找 1+
LCP 28采购方案open in new window数组 双指针 二分查找 1+
剑指 Offer 06从尾到头打印链表open in new windowJSopen in new window 递归 链表 1+
剑指 Offer 21调整数组顺序使奇数位于偶数前面open in new windowJSopen in new window数组 双指针 排序
剑指 Offer 22链表中倒数第k个节点open in new windowJSopen in new window链表 双指针
剑指 Offer 41数据流中的中位数open in new window设计 双指针 数据流 2+
剑指 Offer 52两个链表的第一个公共节点open in new windowJSopen in new window哈希表 链表 双指针
剑指 Offer 57和为s的两个数字open in new window数组 双指针 二分查找
剑指 Offer 57 - II和为s的连续正数序列open in new window数学 双指针 枚举
剑指 Offer 58 - I翻转单词顺序open in new windowJSopen in new window双指针 字符串
剑指 Offer 58 - II左旋转字符串open in new window数学 双指针 字符串
剑指 Offer II 006排序数组中两个数字之和open in new window数组 双指针 二分查找
剑指 Offer II 007数组中和为 0 的三个数open in new window数组 双指针 排序
剑指 Offer II 014字符串中的变位词open in new window哈希表 双指针 字符串 1+
剑指 Offer II 018有效的回文open in new window双指针 字符串
剑指 Offer II 019最多删除一个字符得到回文open in new window贪心 双指针 字符串
剑指 Offer II 021删除链表的倒数第 n 个结点open in new window链表 双指针
剑指 Offer II 022链表中环的入口节点open in new window哈希表 链表 双指针
剑指 Offer II 023两个链表的第一个重合节点open in new window哈希表 链表 双指针
剑指 Offer II 026重排链表open in new window 递归 链表 1+
剑指 Offer II 027回文链表open in new windowJSopen in new window 递归 链表 1+
剑指 Offer II 056二叉搜索树中两个节点之和open in new window 深度优先搜索 广度优先搜索 4+
剑指 Offer II 077链表排序open in new window链表 双指针 分治 2+
面试题 01.05一次编辑open in new window双指针 字符串
面试题 01.06字符串压缩open in new window双指针 字符串
面试题 02.01移除重复节点open in new window哈希表 链表 双指针
面试题 02.02返回倒数第 k 个节点open in new window链表 双指针
面试题 02.04分割链表open in new window链表 双指针
面试题 02.06回文链表open in new window 递归 链表 1+
面试题 02.07链表相交open in new window哈希表 链表 双指针
面试题 02.08环路检测open in new window哈希表 链表 双指针
面试题 10.01合并排序的数组open in new window数组 双指针 排序
面试题 16.06最小差open in new window数组 双指针 二分查找 1+
面试题 16.16部分排序open in new window 贪心 数组 3+
面试题 16.24数对和open in new window数组 哈希表 双指针 2+
面试题 17.20连续中值open in new window设计 双指针 数据流 2+
面试题 17.21直方图的水量open in new window 数组 双指针 2+