
C++Leetcode刷题集
C_臻可爱呢
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
387:字符串中第一个唯一字符
计数class Solution {public: int firstUniqChar(string s) { //unordered_map<int,int>mp; vector<int>mp(26,0); for(int i=0;i<s.length();++i) ++mp[s[i...原创 2019-12-16 20:25:14 · 111 阅读 · 0 评论 -
232:用栈实现队列
class MyQueue {public: stack<int>stack1; stack<int>stack2; /** Initialize your data structure here. */ MyQueue() { } /** Push element x to the back o...原创 2019-12-16 19:34:04 · 81 阅读 · 0 评论 -
1122:数组的相对排序
class Solution {public: vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) { vector<int>res; deque<int>temp; unorder...原创 2019-12-16 16:15:52 · 163 阅读 · 0 评论 -
107:二叉树的层次遍历Ⅱ
迭代(广度优先)/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...原创 2019-12-16 14:39:36 · 81 阅读 · 0 评论 -
349:两个数组的交集
class Solution {public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { vector<int>vec; if(nums1.size()==0||nums2.size()==0)retu...原创 2019-12-16 13:31:59 · 73 阅读 · 0 评论 -
111:二叉树的最小深度
方法一:递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; ...原创 2019-12-12 16:12:16 · 70 阅读 · 0 评论 -
242:有效的字母异位词
方法一:将两个字符串都排好序,然后相应位置比较class Solution {public: bool isAnagram(string s, string t) { if(s.length()!=t.length())return false; sort(s.begin(),s.end()); sort(t.begin(),t.end(...原创 2019-12-12 15:19:41 · 82 阅读 · 0 评论 -
509:斐波那契数列
递归:class Solution {public: int fib(int N) { if(N==0)return 0; if(N==1||N==2)return 1; return fib(N-2)+fib(N-1); }};迭代:class Solution {public: int fib(int N) ...原创 2019-12-12 13:24:01 · 103 阅读 · 0 评论 -
905:按奇偶排序数组
class Solution {public: vector<int> sortArrayByParity(vector<int>& A) { vector<int>odd; vector<int>even; for(int i=0;i<A.size();++i) ...原创 2019-12-12 12:59:01 · 99 阅读 · 0 评论 -
217:存在重复元素
方法一:暴力解决,时间复杂度n^2,最后一个实例通不过class Solution {public: bool containsDuplicate(vector<int>& nums) { for(int i=0;i<nums.size();++i) { for(int j=i+1;j<nums.s...原创 2019-12-12 11:50:30 · 81 阅读 · 0 评论 -
83:删除排序链表中的重复元素
双指针迭代:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListN...原创 2019-12-12 11:11:20 · 81 阅读 · 0 评论 -
226:翻转二叉树
迭代一:从父节点整体翻转/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {}...原创 2019-12-12 01:36:35 · 84 阅读 · 0 评论 -
461:汉明距离
方法一:暴力法使用暴力法将十进制转化为二进制,不够补0,然后判断各位是否相等class Solution {public: int hammingDistance(int x, int y) { string s1="", s2="";int m = 0, n = 0, ans = 0; while (x) { int v = x % 2; s1 += to_str...原创 2019-12-12 00:24:09 · 73 阅读 · 0 评论 -
1221:分割平衡字符串
class Solution {public: int balancedStringSplit(string s) { int count1=0,count2=0,ans=0; for(int i=0;i<s.length();++i){ if(s[i]=='L')count1++; else coun...原创 2019-12-11 20:26:22 · 199 阅读 · 1 评论 -
350:两个数组的交集Ⅱ
方法一:暴力解法class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { vector<int>ans; for(int i=0;i<nums1.size();++i)...原创 2019-12-11 13:32:56 · 91 阅读 · 0 评论 -
167:两数之和Ⅱ-输入有序数组
方法一:暴力求解,时间复杂度n^2class Solution {public: vector<int> twoSum(vector<int>& numbers, int target) { int m,n; for(int i=0;i<numbers.size();++i) { ...原创 2019-12-11 10:07:53 · 112 阅读 · 0 评论 -
1021:删除最外层的括号
class Solution {public: string removeOuterParentheses(string S) { string ans; int L=1,R=0; for(int i=1;i<S.length();++i) { if(S[i]=='(')L++; ...原创 2019-12-11 09:49:15 · 81 阅读 · 0 评论 -
557:反转字符串中的单词Ⅲ
方法一:暴力翻转法class Solution {public: string reverseWords(string s) { string str=""; int j=0,k; for(int i=0;i<=s.length();++i) { if(s[i]==' '||s[i]=='\0...原创 2019-12-10 22:20:25 · 96 阅读 · 0 评论 -
160:相交链表
方法一:暴力求解,时间复杂度n*m/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public...原创 2019-12-10 12:05:56 · 79 阅读 · 0 评论 -
203:减少链表元素
方法一:迭代/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListN...原创 2019-12-09 22:51:06 · 118 阅读 · 0 评论 -
100:相同的树
方法一:树的层次遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * ...原创 2019-12-09 14:42:31 · 74 阅读 · 0 评论 -
189:旋转数组
方法:使用循环跳转class Solution {public: void rotate(vector<int>& nums, int k) { k = k % nums.size(); int count = 0; for (int start = 0; count < nums.size(); start+...原创 2019-12-09 14:05:56 · 81 阅读 · 0 评论 -
101:对称二叉树
方法一:递归判断相等/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * ...原创 2019-12-09 11:31:30 · 89 阅读 · 0 评论 -
141:环形链表
方法:使用快慢指针,如果是循环,那么快指针总有会追上慢指针的时候/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class So...原创 2019-12-07 21:46:32 · 86 阅读 · 0 评论 -
118:杨辉三角
方法一:时间复杂度挺高class Solution {public: vector<vector<int>> generate(int numRows) { vector<vector<int>>v; if(numRows==0)return v; vector<int>tem...原创 2019-12-07 20:16:43 · 86 阅读 · 0 评论 -
169:多数元素
方法一:摩尔投票法,时间复杂度O(n)class Solution {public: int majorityElement(vector<int>& nums) { int count=0,key; for(int i=0;i<nums.size();++i) { if(count==0...原创 2019-12-07 17:25:27 · 110 阅读 · 0 评论 -
198:打家劫舍
class Solution {public:int rob(vector<int>& nums) { int sumOdd = 0; int sumEven = 0; for (int i = 0; i < nums.size(); i++) { if (i % 2 == 0) { sumEven += nums[i]; sumEven...原创 2019-12-06 10:35:15 · 93 阅读 · 0 评论 -
234:回文链表
方法一:自己的解法,时间复杂度n,空间复杂度也为n,脑子太笨了将链表的值放到vector中去,在vector中用双指针进行比较/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), ...原创 2019-12-05 17:20:24 · 76 阅读 · 0 评论 -
122:买排股票的最佳时机Ⅱ
方法一:找到谷峰和谷底class Solution {public: int maxProfit(vector<int>& prices) { if(prices.size()==0)return 0; int i = 0; int valley = prices[0]; int peak = pric...原创 2019-12-05 15:26:30 · 84 阅读 · 0 评论 -
125:验证回文串
class Solution {public: bool isPalindrome(string s) { int j=0; for(int i=0;i<s.length();++i) { if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&...原创 2019-12-04 15:35:26 · 98 阅读 · 0 评论 -
136:只出现一次的数字
class Solution {public: int singleNumber(vector<int>& nums) { int res=nums[0]; for(int i=1;i<nums.size();++i) { res^=nums[i]; } r...原创 2019-12-04 14:29:39 · 88 阅读 · 0 评论 -
771:宝石与石头
class Solution {public: int numJewelsInStones(string J, string S) { int k=0; for(int i=0;i<J.length();++i) { for(int j=0;j<S.length();++j) ...原创 2019-12-04 13:36:26 · 102 阅读 · 0 评论 -
104:二叉树的最大深度
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla...原创 2019-12-04 11:47:41 · 78 阅读 · 0 评论 -
344:反转字符串
法一:class Solution {public: void reverseString(vector<char>& s) { reverse(s.begin(),s.end()); }}; 法二:class Solution {public: void reverseString(vector<ch...原创 2019-12-03 11:00:25 · 116 阅读 · 0 评论 -
67:二进制求和
class Solution {public: string addBinary(string a, string b) { while(a.length()<b.length()) { a='0'+a; } while(b.length()<a.length()) {...原创 2019-12-02 19:24:44 · 93 阅读 · 0 评论 -
70:爬楼梯
爬楼梯实则为斐波那契数列:class Solution {public: int climbStairs(int n) { int num[n+1]; num[0]=1; num[1]=1; for(int i=2;i<=n;++i) { num[i]=num[i-1]+nu...原创 2019-12-02 16:37:36 · 96 阅读 · 0 评论 -
58:最后一个单词的长度
class Solution {public: int lengthOfLastWord(string s) { int len=s.length()-1,i=0,j=0; while(len>=0) { if(s[len]==' ') { j++; ...原创 2019-12-02 15:56:58 · 109 阅读 · 0 评论 -
35:搜索插入位置
方法1:二分查找class Solution {public: int searchInsert(vector<int>& nums, int target) { int left=0,right=nums.size()-1,mid; while(left<=right) { mid=l...原创 2019-12-02 15:19:12 · 81 阅读 · 0 评论 -
206:反转单链表
解决方案:三个指针遍历链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ...原创 2019-12-01 16:50:01 · 76 阅读 · 0 评论