自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树的最金公共祖先

class Solution {public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if (!root || root == p || root == q) return root; TreeNode *left = lowestCommonA...

2020-04-29 21:08:23 109

原创 二叉树的最大深度

递归class Solution {public: int maxDepth(TreeNode* root) { if(root==nullptr)return 0; return(max(maxDepth(root->left),maxDepth(root->right)))+1; }};

2020-04-29 20:38:32 135

原创 对称二叉树

递归class Solution{public: bool isSymmetric(TreeNode* root) { if(!root) return true; return m(root->left,root->right); } bool m(TreeNode*r1,TreeNode*r2) ...

2020-04-29 19:27:54 100

原创 相同的树

递归就很简单了class Solution {public: bool isSameTree(TreeNode* p, TreeNode* q) { if(!p&&!q) return true; if(!p||!q) return false; return (p->val==q->val&&...

2020-04-29 18:31:25 95

原创 子集

class Solution {public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>> ans; for (int num : nums) { int n = ans....

2020-04-20 18:03:13 117

原创 格雷编码

class Solution {public: vector<int> grayCode(int n) { vector<int> res; for(int i=0;i<=n;i++) { if(res.size()==0) {res.push_back(0)...

2020-04-20 17:36:13 91

原创 只出现一次的数字

class Solution {public: int singleNumber(vector<int>& nums) { int j=0; for(int i=0;i<nums.size();i++) { for(j=i+1;j<nums.size();j++) ...

2020-04-07 18:08:24 137

原创 反串字符串

class Solution {public: void reverseString(vector<char>& s) { int n=s.size(); for(int i=0;i<n/2;i++) { if(s[i]==s[n-1-i]) continue; //优化 ...

2020-04-07 17:42:58 563

原创 最长前缀

class Solution {public: string longestCommonPrefix(vector<string>& strs) { string r = strs.size() ? strs[0] : ""; for(auto s: strs){ while(s.substr(0, r.size...

2020-04-07 17:38:21 171

原创 滑动窗口最大值

class Solution {public:vector<int> maxSlidingWindow(vector<int>& nums, int k) { vector<int> res; if (nums.size() == 0) { return res; } ...

2020-03-26 16:05:16 85

原创 设计循环双端队列

用vector很好实现内存占用少但费时class MyCircularDeque {vector<int>deque;int max_size;public:/** Initialize your data structure here. Set the size of the deque to be k. */MyCircularDeque(int k) {max_si...

2020-03-25 23:26:19 75

原创 逆波兰表达式求值

2020-03-25 13:45:43 139

原创 整数反转

要注意这个题的数是有范围的,超过了就要返回0

2020-03-25 13:38:25 141

原创 最小栈

用两个栈,一个栈用来储存数据,一个用来储存最小的数

2020-03-18 22:10:01 84

原创 有效的括号

用栈的方法,先把({【放入栈,后面的入栈时若有相匹配的就出栈。最后为空则为true。

2020-03-17 21:16:13 216

原创 环形链表

双指针法

2020-03-12 14:46:19 93

原创 删除排序链表中的重复元素

删除排序链表中的重复元素双指针法

2020-03-12 13:56:02 78

原创 合并两个有序链表

合并两个有序链表递归方法class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1==nullptr) return l2; if(l2==nullptr) return l1; if(l1-&g...

2020-03-12 13:41:04 75

原创 猜数游戏

题目:电脑产生一个0到100之间的随机数字,要求用户来猜,电脑会提示用户猜大了还是小了,如果输入的不是数字,电脑会提醒你输入无效。#include<iostream>using namespace std;int main(){ int guess = rand() % 100 + 1; int m; for (int i = 1;i < 101;i++) { ...

2020-03-04 17:26:33 197

原创 买股票最佳时期

买股票最佳时期方法一:暴力法class Solution {public: int maxProfit(vector<int>& prices) { int max=INT_MIN; int sum=0; int len=int(prices.size()); if(len<2) ...

2020-02-29 23:21:59 170

原创 合并两个有序数组

题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。方法一:暴力法 先合并再排序class Solution {public: void me...

2020-02-26 22:28:09 202

原创 最大子序和

题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。方法一:暴力法class Solution {public: int maxSubArray(vector<int>& nums) { int max=INT_MIN; int len=int(nums.size()); ...

2020-02-26 21:44:44 130

原创 删除元素

题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。方法一运行比较快也比较简单的class Solution {public: int removeElement(vec...

2020-02-23 15:53:27 111

原创 删除数组中的重复项

题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。方法一简单粗暴的方法class Solution {public: int removeDuplicates(vector<int>& nums) { if...

2020-02-23 15:45:57 223

原创 两数之和

#两数之和##题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。###方法一class Solution {public: vector<int> twoSum(vector<int>& nums...

2020-02-23 15:29:31 83

空空如也

空空如也

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

TA关注的人

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