- 博客(11)
- 资源 (17)
- 收藏
- 关注
原创 力扣leetcode77组合C++
力扣leetcode77组合C++题目链接解题思路三级目录题目链接77. 组合解题思路今天这道题目是采用了回溯的思想所谓回溯,就是穷举问题的所有可能性,从中选择合适的结果,返回返回上一层,继续选择。读者已更改能够大三级目录...
2021-03-07 21:12:49 313
原创 力扣leetcode513. 找树左下角的值
力扣leetcode513. 找树左下角的值题目链接解题思路代码实现题目链接找树左下角的值解题思路有题目可得我们是要求解最后一行的第一个节点,所以需要遍历整棵树,并且要使用前序遍历,这样才能够实现优先遍历左边的节点那么我们来讨论叶子节点的特性,即该节点的左孩子为空且右孩子也为空既然要求解最后一行,那么就需要维护一个数来表示当前节点所在深度,还需要一个值来将合适值返回代码实现/** * Definition for a binary tree node. * struct TreeNo
2021-03-06 13:46:38 201
原创 力扣leetcode左叶子之和C++
左叶子之和题目链接解题思路代码实现题目链接左叶子之和解题思路我们可以看到题目所需要求解的是左叶子,那么左叶子的定义为:若一节点的左孩子不为空且左孩子的左右孩子都为空那么这个节点就为左叶子节点。并且题目要求返回的值为一个int值,所以我们需要构建一个带参的函数,此外考虑遍历顺序我们先判断当前节点是否左叶子,在进行递归判断左右孩子因此是一种前序遍历的方式代码实现/** * Definition for a binary tree node. * struct TreeNode { *
2021-03-06 13:11:16 129
原创 力扣leetcode栈和队列相互实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录题目链接用栈实现队列用队列实现栈一、用栈实现队列解题思路代码实现二、用队列实现栈解题思路代码实现题目链接用栈实现队列用队列实现栈一、用栈实现队列解题思路我们先复习一下栈和队列的基本知识栈:栈是一种先进后出的数据结构,它仅允许从一端进行插入和和删除操作队列队列是一种先进先出的数据结构,它允许从队列的一端插入从另一端删除那么对于这道题来说,用两个栈实现队列我们先考虑入栈的情况,当1, 2入栈后,此时如果要
2021-03-05 20:53:39 111
原创 力扣leetcode N叉树的遍历
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录力扣leetcode N叉树的遍历题目链接一、题目1: N 叉树的前序遍历解题思路解题代码二、题目2解题思路解题代码力扣leetcode N叉树的遍历题目链接589. N 叉树的前序遍历590. N 叉树的后序遍历一、题目1: N 叉树的前序遍历解题思路参看 二叉树的三种遍历解题代码/*// Definition for a Node.class Node {public: int va
2021-03-03 21:41:50 289 2
原创 力扣leetcode226. 翻转二叉树
力扣leetcode226. 翻转二叉树题目链接226. 翻转二叉树思路观察可得我们只需要逐个翻转二叉树结点,最终就可以得到一个翻转二叉树step1确定终止条件如果当前节点为空时,就返回if(!root) return nullptr;step2实现单趟递归我们采用前序遍历的方式,先翻转当前节点左右孩子,在翻转左右子树swap(root->left, root->right);invertTree(root->left);invertTree(root
2021-03-03 21:22:28 144 1
原创 力扣leetcode144. 二叉树的三种遍历C++
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录二叉树的遍历题目链接一、题目1代码实现二、题目2代码实现三、题目3代码实现二叉树的遍历题目链接144. 二叉树的前序遍历94. 二叉树的中序遍历145. 二叉树的后序遍历一、题目1对于这道题目而言,很多人会自然的想到使用递归处理,但问题的关键在于如何将便利的结果输出到数组中,所以我们需要考虑递归的参数,必须要使用一个数组作为参数,在递归过程中不断的将节点值输出到数组中代码实现/** * Definition
2021-03-03 21:07:10 332 1
原创 力扣leetcode剑指 Offer 05. 替换空格C++
力扣leetcode剑指 Offer 05. 替换空格C++剑指 Offer 05. 替换空格思路1拿到这道题目的第一想法就是构建一个新的字符串然后遇到空格就+%20这样的话肯定可以通过,但是会有额外的空间开销代码如下class Solution {public: string replaceSpace(string s) { string str = ""; for(char c : s) { if(c !=
2021-03-03 10:26:44 213
原创 力扣leetcode剑指 Offer 56 - I. 数组中数字出现的次数C++
剑指 Offer 56 - I. 数组中数字出现的次数剑指 Offer 56 - I. 数组中数字出现的次数经过前面两道题目的训练,相信很多人一看到题目就想到了使用位运算来进行求解,但是如何恰当地使用位运算和在何处使用位运算成为了一个难点我们来观察题目,首先可以看到一个数组中除了两个数字之外其余数字都出现了两次,我们考虑前面做过的第一道题目,如果是只有一个数字出现了一次的话,那么我们呢可以轻松地利用逐元素异或的思想,那么如何把问题转化为数组中只有一个出现一次的元素呢 我们需要想办法对数组进行分组
2021-03-02 22:23:01 309
原创 力扣leetcode136. 只出现一次的数字C++
力扣leetcode136. 只出现一次的数字C++136. 只出现一次的数字对于这道题目我们可以考虑使用位运算的思想来进行求解知识点回顾异或运算a^a = 0;a^a ^b = b;a^ b^ c = a^c ^ b;我们可以看到两个相同的数 异或的结果为0因此这道题目只需要将庶族内的所有元素逐一异或,就可以得到结果代码如下class Solution {public: int singleNumber(vector<int>& nums) {
2021-03-02 21:48:18 224
原创 力扣leetcode剑指 Offer 56 - II. 数组中数字出现的次数 IIC++
力扣leetcode剑指 Offer 56 - II. 数组中数字出现的次数 IIC++剑指 Offer 56 - II. 数组中数字出现的次数 II思路:这道题目可以参考之前的两道题目,是之前两道题目的升级版我们自然考虑到使用位运算来解决与之前两道题目不同的是我们需要考虑维护一个对比特位计数的数组,我们对每个数字进行比特位计数,然后统计数组每个位上1的个数。我们举例来看从图中我们可以看出,我们对一个数组进行比特位统计,得到的结果对3取余,就可以得到结果代码如下class Solu
2021-03-02 21:37:54 360
VS主题/程序员用VS主题
2021-05-29
自来水管道铺设问题建模与计算/最优化问题
2021-05-29
C语言配套练习题/C++练习题/C++课后题答案
2021-05-29
学生成绩管理系统C++.rar
2019-12-29
数据结构之二叉树链表.rar
2019-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人