自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 剑指offer32.从上到下打印二叉树

0524代码class Solution {public: vector<int> levelOrder(TreeNode* root) { vector <int>res; queue<TreeNode*>q; if(root) q.push(root); while(!q.empty()){ TreeNode* node=q.front();

2022-05-24 21:36:48 130

原创 剑指offer26.树的子结构

0521代码class Solution {public: bool isSubStructure(TreeNode* A, TreeNode* B) { if(A==NULL||B==NULL) return false; return q_val(A,B)||isSubStructure(A>left,B) ||isSubStructure(A->right,B); } bool q_val(TreeNode*A,

2022-05-21 11:01:04 138

原创 剑指offer57.和为s的两个数

刷题自用0518代码class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int left=0; int n=nums.size(); int right=n-1; vector <int> res; while(left<right){ if

2022-05-18 20:42:25 171

原创 剑指offer18.删除链表结点

刷题自用0518代码class Solution {public: ListNode* deleteNode(ListNode* head, int val) { ListNode*first=head; ListNode*second=head->next; if(first->val==val) return first->next; while(second!=NULL&&second-&g

2022-05-18 20:29:40 138

原创 剑指offer10.斐波那契数列

刷题自用0517问题描述F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.代码class Solution {public: int fib(int n) { int left=0; int right=1; int sum=0; if(n<2) return n; for(int i=2;i<=n;i++){

2022-05-17 19:26:03 95

原创 剑指offer07.重建二叉树

0517刷题自用题目描述某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点代码class Solution {public: TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { if(preorder.size()==0&&inorder.size()==0) return NULL; auto headro

2022-05-17 10:58:40 273

原创 剑指offer53.两个链表的第一个交点

刷题自用0515代码class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode *a=headA; ListNode *b=headB; while(headA!=headB){ headA=headA==NULL?b:headA->next; headB=headB==N

2022-05-15 16:29:49 108

原创 剑指offer58.旋转字符串2

0515刷题自用代码class Solution {public: string reverseLeftWords(string s, int n) { string a,b; int num=s.length(); s+=s; return s.substr(n,num); }};思路例如:s=“abcdef”,n=3s=s+s=‘abcdefabcdef’s.substr(n,num) 复制s+s的第n到n

2022-05-15 14:34:34 783

原创 剑指offer29.顺时针打印矩阵

刷题自用描述输入一个矩阵,从外到里打印所有元素代码class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int>res; if(matrix.size()==0||matrix[0].size()==0) return res; int m=matrix.size();

2022-05-15 10:20:34 161

原创 剑指offer8.二叉树最近公共祖先2,0514

代码class Solution {public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(root==NULL||root==p||root==q) return root; TreeNode *left=lowestCommonAncestor(root->left,p,q); TreeNode *right=lo

2022-05-15 08:40:12 77

原创 剑指offer57. 和为s的两个数,0514

刷题自用代码class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int left=0; int n=nums.size(); int right=n-1; vector<int>res; while(left<right){ if(nums[l

2022-05-14 21:39:46 107

原创 剑指offer68.二叉搜索树的公共祖先

代码class Solution {public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { while(1){ if(root->val>p->val&&root->val>q->val){ root=root->left; }else

2022-05-13 20:42:39 132

原创 剑指offer06.从尾到头打印链表

刷题自用0513代码class Solution {public: vector<int> reversePrint(ListNode* head) { vector<int> res; while(head){ res.push_back(head->val); head=head->next; } reverse(res.begin(),res

2022-05-13 14:51:43 137

原创 剑指offer04.二维数组的查找2022.0512

刷题自用代码class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int a=matrix.size()-1; int b=0; while(a>=0&&b<matrix[0].size()){ if(target<matrix[

2022-05-12 21:09:06 140

原创 剑指offer03.数组中的重复数字0512

刷题自用代码class Solution {public: int findRepeatNumber(vector<int>& nums) { unordered_map <int,int>res; for(auto a:nums){ ++res[a]; if(res[a]>1) return a; } return 0;

2022-05-12 20:50:32 125

原创 118.杨辉三角,刷题自用0510

代码class Solution {public: vector<vector<int>> generate(int numRows) { vector <vector<int>> res (numRows); for(int i=0;i<numRows;i++) { res[i].resize(1+i); res[i][0]=res[i][i]=

2022-05-10 21:15:35 63

原创 70.爬楼梯,刷题自用0510

代码class Solution {public: int climbStairs(int n) { if(n<2) return 1; int first=1; int second=1; int sum=0; for(int i=2;i<=n;i++){ sum=first+second; first=second; second

2022-05-10 21:10:27 74

原创 053.最大连续子数组,0510刷题自用

代码class Solution {public: int maxSubArray(vector<int>& nums) { int n=nums.size(); //if(n=1) return nums[0]; int temp=nums[0]; int maxvalue=nums[0]; for(int i=1;i<n;i++){ temp=nums[i]+ma

2022-05-10 20:58:50 60

原创 剑指offer 61.扑克牌顺子判断,刷题自用0505

代码![在这里插入代码片]class Solution {public: bool isStraight(vector<int>& nums) { sort(nums.begin(),nums.end()); int zero=0; int n=nums.size(); for(int i=0;i<4;i++){ if(nums[i]==0){ zer

2022-05-05 21:39:01 161

原创 剑指offer 06.从尾到头打印链表,刷题自用0505

代码class Solution {public: vector<int> reversePrint(ListNode* head) { vector<int>res; while(head){ res.push_back(head->val); head=head->next; } reverse(res.begin(),res.end());

2022-05-05 16:06:47 430

原创 剑指offer.47 最大的礼物价值,刷题自用0505

代码class Solution {public: int maxValue(vector<vector<int>>& grid) { int dp[205][205] = {0}; int n = grid.size(), m = grid[0].size(); dp[0][0] = grid[0][0]; for(int i = 1; i < m; i++) { dp

2022-05-05 15:58:57 134

原创 剑指offer05.替换空格,刷题自用0504

代码class Solution {public: string replaceSpace(string s) { string res; for(auto t:s){ if(t==' '){ res.push_back('%'); res.push_back('2'); res.push_back('0'); }

2022-05-04 20:10:32 45

原创 剑指offer.01 数组中重复的数(0504刷题自用)

代码class Solution {public: int findRepeatNumber(vector<int>& nums) { unordered_map <int,int>res; for(auto i:nums){ ++res[i]; if(res[i]>1) return i; } return 0;

2022-05-04 16:10:31 811

原创 454.四数相加II,刷题自用

代码class Solution {public: int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D) { unordered_map<int, int> AB; for (int i: A) { for (int j: B) {

2022-05-04 15:40:02 238

转载 18. 四数之和,刷题记录0503,自用

代码class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { sort(nums.begin(),nums.end()); int n=nums.size(); vector<vector<int>> res; for(int i=0;i<n-3;+

2022-05-03 19:10:08 52

转载 刷题记录16. 最接近的三数之和,自用

题目描述 16. 最接近的三数之和代码class Solution {public: int threeSumClosest(vector<int>& nums, int target) { sort(nums.begin(),nums.end()); int value=nums[0]+nums[1]+nums[2]; int n=nums.size(); for(int i=0;i<n-2;++i){

2022-05-03 16:47:01 85

转载 15.三数之和(刷题记录,自用0503)

题目描述:15.三数之和代码:class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { int n=nums.size(); vector<vector<int>> res; sort(nums.begin(),nums.end()); for(int first=0;fir

2022-05-02 19:58:20 76

转载 刷题记录0502,自用(数组,贪心,双指针)

问题描述:11.盛水最多的容器给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。代码:class Solution {public: int maxArea(vector<int>& height) { int left=0; int n=height.

2022-05-02 19:46:20 57

原创 刷题记录0502,自用(数组,哈希表)

问题描述:01两数之和代码:class Solution{ private: unordered_map<int,int> res; public: vector<int>twoSum(vector<int>&nums,int target){ int num=nums.size(); for(int i=0;i<num;++i){ auto it=res.find(

2022-05-02 19:29:57 80

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除