算法学习100天——18 双指针题型分类

花了一个多礼拜,把多线程再学习了一遍

继续回来学算法

刷题是基于github上CS-Notes来的

在此基础上,我用自己的理解将双指针分成了以下三类

  • 左右型双指针

    两个指针在一个数组左右两边

    • 有序数组中找两数和为targethttps://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/description/
    • 给定一个整数target,找到两个数的平方和为targethttps://leetcode-cn.com/problems/sum-of-square-numbers/description/
    • 反转单词中的元音字母https://leetcode-cn.com/problems/reverse-vowels-of-a-string/description/
    • 判断一个字符串是否为回文串,字符串删去一个字符满足的话,也算是,如“abca”
      其实就是求(str, i , j) || (str, i + 1 , j) || (str, i , j - 1) https://leetcode-cn.com/problems/valid-palindrome-ii/description/
  • 平行型双指针

    两个指针在不同的两个数组/链表上

    • 归并两个字符串/数组/链表https://leetcode-cn.com/problems/merge-sorted-array/description/
    • 找出字符串数组中,最长子序列https://leetcode-cn.com/problems/longest-word-in-dictionary-through-deleting/description/
  • 快慢型双指针

    两个指针在同一个方向,但是一个移动速度快,一个速度慢

    • 判断一个链表是否有环https://leetcode-cn.com/problems/linked-list-cycle/description/
posted @ 2022-04-01 14:48  浪漫主义程序员  阅读(27)  评论(0编辑  收藏  举报