Java教程

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

本文主要是介绍算法学习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/
这篇关于算法学习100天——18 双指针题型分类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!