![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
双指针
文章平均质量分 54
柬之
这个作者很懒,什么都没留下…
展开
-
680. 验证回文串 II
思路:先进行回文判断,有问题进入函数 validPalindrome2,其分别分析删去不同对的左边或右边。逻辑上很简单,但是实现有点复杂,待改。是否能成为回文字符串:如果能,返回。你可以删除字符 'c'。可以从中删除一个字符。原创 2023-01-05 22:50:56 · 71 阅读 · 0 评论 -
142. 环形链表 II
设头结点至环节点距离为a,环节点往相遇点路程为b,相遇点往环节点为c,则b+c为环长度。相遇时,慢指针走过的路程为a+b,快指针为a+(b+c)*n+b, n为快指针绕的圈数。在链表非空的情况下,当且仅当存在环,两者才会相遇,并且相遇点仅为环内,并且此时慢指针未绕环满一圈。所以快慢指针相遇时,另设一个新指针其速度与慢指针一致,新指针从头节点出发。因为时间相同,速度不同,两者路程等式为2*(a+b)=a+(b+c)*n+b。1.遍历指针,使用哈希表记录每一节点, 重复即为环,并能找出对应节点;原创 2023-01-05 01:12:18 · 96 阅读 · 0 评论 -
88. 合并两个有序数组
如果 nums2 的数字已经复制完,剩余nums1 的数字不需要改变,因为它们已经被排好序。我们直接利用 m 和 n 当作两个数组的指针,再额外创立一个 pos 指针,起始位置为 m + n − 1。注意 这里我们使用了 ++ 和--的小技巧:a++ 和 ++a 都是将 a 加 1,但是 a++ 返回值为 a,而。如果只是希望增加 a 的值,而不需要返回值,则推荐使用 ++a,其运行速度。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。需要合并 [1,2,3] 和 [2,5,6]。原创 2023-01-03 23:40:13 · 50 阅读 · 0 评论 -
167. 两数之和 II - 输入有序数组&633. 平方数之和
1 与 0 之和等于目标数 -1。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 7 之和等于目标数 9。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 4 之和等于目标数 6。因此 index1 = 1, index2 = 3。返回 [1, 3]。你所设计的解决方案必须只使用常量级的额外空间。,请你从数组中找出满足相加之和等于目标数。(只递增或相等),那就是简单的双指针问题。的形式返回这两个整数的下标。原创 2023-01-03 23:41:22 · 73 阅读 · 0 评论