双指针,不是一种数据结构,只是一种解题技巧。主要使用场景为数组、链表。
那么在遇到题目时,我们怎么能考虑到使用双指针技巧呢?这里简单对思路进行一个总结,不完善的地方或者错误的地方跪求大家交流。
1.首先看数据结构
数据结构若为链表或者数组,则有可能可以用双指针。
2.如果是数组:
数组一般是需要有序的。但是不代表无序的就不能用。比如一个蓄水池问题,数组中的数组代表高度,求整个水池最多装多少水。这样的数组就是无序的,但是也可以用双指针,因为可以从两边往中间逼近。
3.如果是链表:
链表一般是用求第几个元素,或者对链表进行旋转等。或者找到链表是否存在环。这时通过一个双指针,一个快,一个慢,可以进行求解。
Two pointers
最新推荐文章于 2019-10-04 19:11:40 发布