随笔分类 - 双指针
摘要:class Solution { public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>> res; sort(nums.begin(), nums.end()); for (in
阅读全文
摘要:class Solution { public: vector<vector<int>> res; vector<vector<int>> threeSum(vector<int>& nums) { sort(nums.begin(), nums.end()); for (int i = 0; i
阅读全文
摘要:思路: 将链表数据存入vector用双指针解决 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr)
阅读全文
摘要:思路: 快慢指针法:当快指针与慢指针相遇时,分别从起点,相遇点开始走,相遇即为环入口 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x)
阅读全文
摘要:``` class Solution { public: void reverseString(vector<char>& s) { int left = 0, right = s.size() - 1; while (left < right) { swap(s[left ++], s[right
阅读全文
摘要:思路: 双指针 当右指针指向不为val的数是则此数为我们需要的答案交换左右指针值并且左指针右一一位 class Solution { public: int removeElement(vector<int>& nums, int val) { int l = 0; for (int r = 0;
阅读全文