双指针
fxy流年无悔
不要留下太多遗憾
展开
-
力扣 15 三数之和
class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> res; int n=nums.size(); sort(nums.begin(),nums.end()); for(int i=0;i<n-2;i++){ ...原创 2021-05-02 15:39:53 · 272 阅读 · 2 评论 -
力扣 11 乘最多水的容器 双指针
class Solution {public: int maxArea(vector<int>& height) { int res=0; int i=0; int j=height.size()-1; while(i<j){ int tmp=(j-i)*min(height[i],height[j]); res=max(res,tmp); ...原创 2021-04-30 21:01:38 · 104 阅读 · 1 评论 -
双指针6个--力扣--java
题目1:167. 两数之和 II - 输入有序数组class Solution { public int[] twoSum(int[] numbers, int target) { int i=0,j=numbers.length-1; while(i<j){ int sum=numbers[i]+numbers[j]; if(sum<target) i++; else原创 2020-05-18 15:21:16 · 213 阅读 · 0 评论 -
双指针-面试题57. 和为s的两个数字
class Solution { public int[] twoSum(int[] nums, int target) { int i=0,j=nums.length-1; while(i<j){ int sum=nums[i]+nums[j]; if(sum==target) ...原创 2020-04-25 15:37:47 · 133 阅读 · 0 评论 -
双指针-链表-面试题52. 两个链表的第一个公共节点
解题思路:设交集链表长c,链表1除交集的长度为a,链表2除交集的长度为b,有 a + c + b = b + c + a 若无交集,则a + b = b + a /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode ...原创 2020-04-24 21:04:04 · 326 阅读 · 0 评论 -
递归-链表-双指针迭代+递归-面试题24. 反转链表-力扣
解题思路:双指针迭代我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。第二个指针 cur 指向 head,然后不断遍历 cur。每次迭代到 cur,都将 cur 的 next 指向 pre,然后 pre 和 cur 前进一位。都迭代完了(cur 变成 null 了),pre 就是最后一个节点了。/*public class ListNode { ...原创 2020-04-14 18:29:44 · 213 阅读 · 0 评论 -
双指针-面试题22. 链表中倒数第k个节点
解题思路:快慢指针先让快指针走k步,然后两个指针同步走,当快指针走到头时,慢指针就是链表倒数第k个节点。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class So...原创 2020-04-13 22:13:44 · 143 阅读 · 0 评论 -
双指针---面试题21. 调整数组顺序使奇数位于偶数前面-力扣
解题思路:双指针,类似快排class Solution { public int[] exchange(int[] nums) { int low=0,high=nums.length-1; while(low<high){ while(low<high&&nums[low]%2!=0) l...原创 2020-04-13 21:50:11 · 138 阅读 · 0 评论