> 文档中心 > Leetcode刷题指南C++(每日更新)

Leetcode刷题指南C++(每日更新)


1.两数之和

两数之和https://leetcode-cn.com/problems/two-sum/

//暴力枚举class Solution {public:    vector twoSum(vector& nums, int target) { int n = nums.size(); for (int i = 0; i < n; ++i) {     for (int j = i + 1; j < n; ++j) {  if (nums[i] + nums[j] == target) {      return {i, j};  }     } } return {};    }};
//哈希表class Solution {public:    vector twoSum(vector& nums, int target) { unordered_map hashtable; for (int i = 0; i second, i};     }     hashtable[nums[i]] = i; } return {};    }};

2.合并两个有序链表

合并两个有序链表https://leetcode-cn.com/problems/merge-two-sorted-lists/

class Solution {public:    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) { if(list1==nullptr){     return list2; }else if(list2==nullptr){     return list1; }else if(list1->val val){     list1->next = mergeTwoLists(list1->next,list2);     return list1; }else{     list2->next = mergeTwoLists(list2->next,list1);     return list2; }     }};

3.删除有序数组中的重复项

删除有序数组中的重复项icon-default.png?t=M1L8https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/

class Solution {public:    int removeDuplicates(vector& nums) { int n = nums.size(); if(n == 0){     return 0; } int fast = 1, slow = 1; while(fast < n){     if(nums[fast] !=nums[fast - 1]){  nums[slow] = nums[fast];  ++slow;     }     ++fast; } return slow;    }};