力扣刷题笔记
C++初学者,记录个人LeetCode刷题记录
Lujc~
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣454. 四数相加 II
//创建一个map存放a+b的值以及a+b出现的次数,再从c+d的和中寻找是否有满足a+b=-(c+d)class Solution {public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) { unordered_map<int, in...原创 2022-03-23 09:13:40 · 227 阅读 · 0 评论 -
力扣202. 快乐数
1、运用双指针class Solution {public://定义求各位数平方和的函数 int getsum(int n) { int sum = 0; while(n) { sum += (n % 10) * (n % 10); n /= 10; } return sum; } //运用快慢指针,快走两步,慢走一步;如果快能变到..原创 2022-03-22 10:38:57 · 218 阅读 · 0 评论 -
力扣1. 两数之和
1、双for循环暴力解法//暴力解法class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { for(int i = 0; i < nums.size(); ++i) { for(int j = i + 1; j < nums.size(); ++j) { ...原创 2022-03-22 10:33:03 · 398 阅读 · 0 评论 -
力扣349. 两个数组的交集
1.暴力解法class Solution {public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { sort(nums1.begin(), nums1.end());//排序 sort(nums2.begin(), nums2.end()); vector<int> v; ...原创 2022-03-21 10:01:28 · 957 阅读 · 0 评论 -
力扣242. 有效的字母异位词
已做具体注释。class Solution {public: bool isAnagram(string s, string t) { if(s.size() != t.size())//若长度不同,肯定不为字母异位词 { return false; } int arr[26] = {0};//定义一个记录字母出现次数的数组,总共26个字母 for (int i = 0; i <...原创 2022-03-20 19:22:01 · 101 阅读 · 0 评论 -
力扣142. 环形链表 II
思路:双指针法。1.先判断是否有环:快指针每次比慢指针多走两步,若有环则必会相遇。2.推导得:头结点到环起点的距离=相遇点到环起点的距离/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ //双指针法。1.先判断是否有环:快指针每..原创 2022-03-19 13:46:34 · 1147 阅读 · 0 评论 -
力扣面试题 02.07. 链表相交
思路:采用双指针方法。让两个链表尾对齐,开始两个指针指向的位置是较短链表首结点,然后依次向后搜索,若遇到指向的结点相同,则返回。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ..原创 2022-03-18 21:37:18 · 362 阅读 · 0 评论 -
力扣19. 删除链表的倒数第 N 个结点
思路:采用双指针的方法,使快指针先走n+1步,再让快慢指针一起走,最终快指针指向null的时候,慢指针指向要删除结点的前一个结点。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next..原创 2022-03-18 17:30:32 · 827 阅读 · 0 评论 -
力扣206. 反转链表
思路: 定义一个在头结点之前的首结点,然后依次将第二个结点移到第一个结点前,第三个结点移到第二个结点前。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullp...原创 2022-03-17 15:06:35 · 1103 阅读 · 0 评论
分享