LeetCode-C++
C++
szuzxt
这个作者很懒,什么都没留下…
展开
-
for(auto &i : temp) 和 for(auto i : temp)的区别
vector<int> temp;1.for(auto i : temp)此时i代表temp中的每一个元素,但不能修改temp中的元素2.for(auto &i : temp)此时i代表temp中的每一个元素,可以对其进行修改原创 2020-11-10 19:21:19 · 664 阅读 · 0 评论 -
2020-11-01
1、pair的类型:pair是一种模版类型。每个pair 可以存储两个值。这两种值的类型没有限制,也可以将自己写的类放进去。2、pair 应用:如果一个函数有两个返回值的话,如果是相同类型,就可以用数组返回,如果是不同类型,两个属性的话,就可以用pair 进行操作,有多个属性的时候 ,可以使用tuple。3、生成方法2种:pair<int ,int >p (5,6);pair<int ,int > p1= make_pair(5,6);pair<strin转载 2020-11-01 09:37:45 · 68 阅读 · 0 评论 -
C++ map的使用方法
1.定义mapmap<key, value> mymap;2.遍历mapmap<key, value> :: iterator it;for(it = mymap.begin(); it != mymap.end(); ++it) { cout << it -> first << it ->secent << endl;}原创 2020-11-01 00:20:15 · 57 阅读 · 0 评论 -
Leetcode初级算法
位1的个数1.左移一位 n <<= 1; 右移一位 n>>= 1;2.右移相当于除2!!!!我一开始写除10!!,怪不得算不对我日了3.n&1的意思是,n与1按二进制位一个一个相&, 可以简单理解为,取出n的二进制中的每一位(从后往前)class Solution {public: int hammingWeight(uint32_t n) { int cnt = 0; while(n != 0) { .原创 2020-10-26 13:19:45 · 135 阅读 · 0 评论 -
Leetcode初级算法
FizzBuzzc++ 整型转字符串型的方法 : to_string()class Solution {public: vector<string> fizzBuzz(int n) { vector<string> ans; for(int i = 1; i <= n; ++i) { if(i % 5 == 0 && i % 3 == 0) { ans.p原创 2020-10-25 11:10:54 · 59 阅读 · 0 评论 -
Leetcode
打家劫舍1.一开始我用vector<int> dp;然后做题报错,看了看答案,要写成vector<int> dp = vector<int>(length);要初始化数组长度为length想了会儿明白了,直接vector<int> dp不能直接给dp[0]赋值啊!要给vector开辟一块空间才能操作的嘛!2.这道题要写出他的状态转移方程!!害!状态边界条件:当n = 1 时,dp[0] = nums[0], 当n = 2时, dp[1] = .原创 2020-10-24 23:59:19 · 45 阅读 · 0 评论 -
Leetcode初级算法
爬楼梯不是很难的一道动态规划的题,感觉做多了就记住了。class Solution {public: int climbStairs(int n) { int dp[10010]; dp[1] = 1; dp[2] = 2; for(int i = 3; i <= n; ++i) { dp[i] = dp[i - 1] + dp[i - 2]; } return原创 2020-10-23 23:53:36 · 77 阅读 · 0 评论 -
Leetcode初级算法
合并两个有序数组干!有一种很骚的办法,直接合并后,再用sort,芽儿哟!class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { vector<int> ans; int i = 0, j = 0; while(i < m && j < n原创 2020-10-22 23:39:05 · 103 阅读 · 0 评论 -
Leetcode初级算法
二叉树的层次遍历对于stack和queue来说是push(),对于vector来说是push_back();这题最脑坏的部分是,这题是个交错数组,所以要将队列一层出来的值放入vector<int>后再放入vector<vector<int>>class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { queue<Tre原创 2020-10-21 23:39:28 · 145 阅读 · 0 评论 -
LeetCode初级算法
对称二叉树这道题我一开始的思路是先用中序遍历该对称二叉树,获取到的数据判断是否是回文串,然后判断是否对称,但是我写不出来,我个人觉得方法好像没啥问题,我也没调试,爸爸们求教/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(N原创 2020-10-21 00:02:43 · 76 阅读 · 0 评论 -
LeetCode初级算法
二叉树的最大深度1.深度遍历(DFS)从根节点一直往下递归遍历,比较左右子树的高度,每进入一次递归高度+1,直到叶子结点都为空时退出递归。class Solution {public: int maxDepth(TreeNode* root) { if(root == nullptr) return 0; return max(maxDepth(root -> left), maxDepth(root -> right)) + 1;原创 2020-10-19 13:54:16 · 85 阅读 · 0 评论 -
LeetCode初级算法
递归与迭代的区别:从概念上讲,递归就是指程序调用自身的编程思想,即一个函数调用本身;迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想。迭代与普通循环的区别是:迭代时,循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。递归与普通循环的区别是:循环是有去无回,而递归则是有去有回(因为存在终止条件)。合并两个有序链表这题让我没想到的点1.忘了要动态分配内存空间!!这很关键ListNode* head = new LiseNode(0);.原创 2020-10-18 14:25:47 · 96 阅读 · 0 评论 -
链表题目的一些套路
哑节点创建 哑节点 作为 结果链表 的开头,返回结果是这个节点的下一个位置。目的是:在未遍历之前,我们不知道构建的结果中,开头元素到底是 l1 还是 l2, 为了让代码整齐,创建哑节点。使用 move 游标哑节点标记了 结果链表 的开头,因此是不能移动的。为了把两个链表 merge 的结果放到结果链表的最后,就需要使用一个 move 游标指向 结果链表 的最后一个元素。初始时,move 指向 哑节点,之后随着结果链表的增加而不停地向后移动,始终保持其指向 结果链表 的最后一个元素。whi转载 2020-10-18 11:14:53 · 84 阅读 · 0 评论 -
LeetCode初级算法
删除链表的倒数第N个节点对于链表极其不熟悉的我(使用太少了)这题学到很多哈哈哈。1. ListNode* dummyHead = new LiseNode(0); //建立一个虚指针,初始值为02. 建立不需要链表时记得释放内存空间3.free和delete的区别:delete 用于释放 new 分配的空间,free 有用释放 malloc 分配的空间class Solution {public: ListNode* removeNthFromEnd(ListNode*.原创 2020-10-17 12:04:04 · 99 阅读 · 0 评论 -
LeetCode初级算法c++
删除链表的结点这道题提供了删除结点新的思路刚开始不会做,看了题解明白,以往删除结点想的是利用他的pre值,使他指向当前值的next,即可删除结点。但是这道题中,没有pre值,要想删除结点,怎么办?他又有个条件:不会访问到末尾指针!!故此题可以这样解:让当前值保存是下个结点的值,然后删除其下一个结点!这样就相当于把当前值给删除了!!class Solution { public: void deleteNode(ListNode* node) {原创 2020-10-16 00:18:52 · 114 阅读 · 0 评论 -
LeetCode初级算法C++
读入带空格的string串string str;getline(cin, str);实现 strStr()#include <bits/stdc++.h>#include <string>#include <string.h>using namespace std;class Solution {public: int strStr(string haystack, string needle) { if(原创 2020-10-14 23:16:52 · 97 阅读 · 0 评论