自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树的迭代遍历(C++实现)

前序遍历:vector<int> preorderTraversal(TreeNode* root) { vector<int>result; stack<TreeNode*>st; if(root==NULL) //判断根结点是否为空 { return result; } st.push(root); //将根结点入栈 while(!

2022-04-19 19:58:12 1288

原创 二叉树的递归遍历(C++实现)

前序遍历:void traversal(TreeNode* root,vector<int>& result) { if(root==NULL) //判断当前结点是否为空 { return; } result.push_back(root->val); //将当前节点插入容器 traversal(root->left,result); //递归遍历左子树

2022-04-14 00:19:51 881

原创 组合总和(C++实现)

原理:分析元素组合数,得出递推公式 dp[i] = dp[i-nums[j]] (i-nums[j]>0),dp[i]表示目标数为i的元素组合数,nums[j]表示nums数组中的元素确定初始化dp数组,当nums = [1,2,3], target = 4时,dp[1]=dp[1-1],因此要将dp[0]初始化为1确定循环次序,只有外层循环target,内层循环nums,才可以确保dp数组元素值为i的元素组合数,如果交换循环次序,外层循环nums,当nums = [1,2,3], targ.

2022-04-12 14:47:42 1137

原创 电话号码的字母组合(C++实现)

原理:digits长度不一定,如果考虑多层循环,根本无法写出循环代码使用回溯算法,外层循环遍历当前数字的字母,然后递归遍历下个数字字母C++实现:unordered_map<char,string> map={{'2',"abc"},{'3',"def"},{'4',"ghi"},{'5',"jkl"},{'6',"mno"},{'7',"pqrs"},{'8',"tuv"},{'9',"wxyz"}}; string s; //储存遍历字符串 vector<.

2022-04-10 20:01:17 1360

原创 回文子串(c++实现)

原理:分析回文子串发现,回文子串是以一个字符为中心和两个相同的字符为中心两种情况回文子串都是在回文中心两边添加相同字符以构成回文串只要找出回文中心,在两边附加相同字符就可构成回文C++实现:int countSubstrings(string s) { int len=s.length(); int sum=0; for(int i=0;i<2*len-1;i++) //最多有2*n-1回文中心 { .

2022-04-10 15:13:09 2397

原创 有效的字母异位词(c++实现)

原理:遍历s字符串,统计s字符串各个字母的个数遍历t字符串,统计t字符串各个字母的个数比较各个字母个数是否相同C++代码: bool isAnagram(string s, string t) { if(s.length()!=t.length()) //如果长度不等,肯定不是异位词 { return false; } else { vector<int&gt.

2022-04-09 17:25:16 498

原创 两数之和(C++实现)

思路:target = nums[i] + nums[j]只要在遍历数组的时候查询target - nums[i]是否在nums数组即可C++代码:vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> map; //创建map容器 int i; vector<int> ans; .

2022-04-09 11:46:56 1108

原创 两个数组的交集

思路:消除数组里的重复数字 遍历短的数组 查找在另一个数组里是否存在相同数字 将相同的数字存起来 C++代码:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { unordered_set<int> set1,set2; //将num数组插入到set里可以保证不会有重复元素 for(auto a:nums..

2022-04-09 11:14:42 65

空空如也

空空如也

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

TA关注的人

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