自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (7)
  • 收藏
  • 关注

原创 LeetCode 17. 电话号码的字母组合(C++)

题目:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例: 输入:”23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。思路:...

2018-09-02 10:19:45 3068 2

原创 LeetCode 236. 二叉树的最近公共祖先(C++)

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] _______3______...

2018-09-01 09:52:59 1708 1

原创 LeetCode 230. 二叉搜索树中第K小的元素(C++)

给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1示例 2:输入: root = [5,3,6,2,4,null,nu...

2018-09-01 09:42:28 905 1

原创 LeetCode 108. 将有序数组转换为二叉搜索树(C++)

题目:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / /...

2018-09-01 09:39:46 1093

原创 LeetCode 450. 删除二叉搜索树中的节点(C++)

给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点; 如果找到了,删除它。 说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,4,null,7]key =...

2018-09-01 09:37:02 1323 1

原创 LeetCode 98. 验证二叉搜索树(C++)

题目:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ ...

2018-09-01 09:19:00 1299

原创 LeetCode 235. 二叉搜索树的最近公共祖先(C++)

题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5] ______...

2018-09-01 09:11:41 1036

原创 LeetCode 437. 路径总和 III(C++)

题目:给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例: 思路:本题重点是路径可以不从根节点开始,也可以不到叶子结点结束。对于从根节点开始到叶...

2018-09-01 09:03:24 658

原创 LeetCode 129. 求根到叶子节点数字之和(C++)

题目给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1: 示例 2: /** * Definition for a binary tree node. * str...

2018-09-01 08:57:22 526

原创 LeetCode 257. 二叉树的所有路径(C++)

题目:给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例: 思路:递归终止条件:到达叶子节点,即该节点的左右孩子均为空。 路径的拼接:每个节点值 + -> + 左孩子的路径/右孩子的路径(左右均可能有多个路径)/** * Definition for a binary tree node. * struct Tre...

2018-09-01 08:29:56 1243

原创 LeetCode 404. 左叶子之和(C++)

题目:计算给定二叉树的所有左叶子之和。示例: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL),...

2018-08-31 22:59:20 758

原创 LeetCode 111. 二叉树的最小深度(C++)

题目:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 思路:!!!递归的终止条件:遍历到叶子结点,这里极容易错误的将遍历到节点为空作为递归终止条件,从而产生错误。/** * Definition for a bin...

2018-08-31 22:56:35 415

原创 LeetCode 112. 路径总和(C++)

题目:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。思路:递归终止条件:叶子节点的值等于sum(sum在递...

2018-08-31 22:49:09 579

原创 LeetCode 110. 平衡二叉树(C++)

题目:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。示例 2: 给定二叉树 [1,2,2,3,3,null,null,4,4] 返回 false 。思路:两层递归,...

2018-08-31 22:42:56 776

原创 LeetCode 222. 完全二叉树的节点个数(C++)

题目:给出一个完全二叉树,求出该树的节点个数。说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。思路:参考文章 首先说明如下: 1.如果一棵二叉树是完全二叉树,那么二叉树最大深度和右子树的最大深度是相同的话,那么根节点的左...

2018-08-31 22:36:38 1380

原创 LeetCode 101. 对称二叉树(C++)

题目:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 说明: 如果你可以运用递归和迭代两种方法解决这个问题,会很加分。思路:递归终止条件::两棵树同时遍历到空(true),仅一棵树遍历到空(false),两棵树遍历到的节点值不同(fals...

2018-08-31 22:10:01 1363

原创 LeetCode 100. 相同的树(C++)

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1: 示例 2: 示例 3: 思路:递归终止条件::两棵树遍历到的节点均为空(true),有一个为空(true),均不为空但是节点值不一样。/** * Definition for a binary tree node. * struct T...

2018-08-31 22:03:28 963

原创 LeetCode 226. 翻转二叉树(C++)

题目:翻转一棵二叉树。示例: 输入: 输出: /**思路:递归终止条件:终止条件就是遍历到节点为空。 注意:二叉树非叶子节点不一定同时拥有左右孩子。 * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * T...

2018-08-31 21:52:56 650

原创 LeetCode 111. 二叉树的最小深度(C++)

题目:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最小深度 2.思路:递归终止条件,遍历到叶子结点root->left == NULL && root->right == N...

2018-08-31 21:33:41 964

原创 LeetCode 编译错误记录(更新中)

错误提示:stray ‘\357’ in program 错误原因:可能是中英分号混用错误导致。错误提示:member access within null pointer of type ‘struct TreeNode’ 错误原因:访问了空指针的成员(通常是访问了空指针的val)...

2018-08-31 20:49:29 1756

原创 LeetCode 104. 二叉树的最大深度(C++)

题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。/** * Definition for a binary ...

2018-08-27 15:59:13 2585

原创 LeetCode 347. 前K个高频元素(C++)

题目:给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(n log n) , ...

2018-08-27 11:01:23 1888 3

原创 LeetCode 279. 完全平方数(C++)

题目:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.思路:这道题看起来有点像贪心算法,但是如果运用贪心算法的话 12 =...

2018-08-27 09:51:59 2926

原创 LeetCode 199. 二叉树的右视图(C++)

题目:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---思路:这道...

2018-08-26 20:46:37 450

原创 LeetCode 107. 二叉树的层次遍历 II(C++)

题目给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]相比于LeetCode 102 ...

2018-08-26 20:18:32 788

原创 LeetCode 102. 二叉树的层次遍历(C++)

题目给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]废话不多说,直接上代码/** * Definition for ...

2018-08-26 19:31:47 998

原创 LeetCode 94、144、145 二叉树的前序、中序、后序遍历的统一实现方法(递归与非递归)

递归方法实现二叉树其实很简单,其实只需要更改输出每个结果与·调用递归函数的相对位置即可实现。一、递归实现1.二叉树的前续遍历class Solution {private: void rec(TreeNode* root,vector<int> &ret){ if(root != NULL){ ret.pus...

2018-08-26 17:06:06 216

原创 LeetCode 145. 二叉树的后序遍历(C++)

题目:给定一个二叉树,返回它的 后序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]进阶: 递归算法很简单,你可以通过迭代算法完成吗?思路:二叉树后序遍历规则: 1.遍历左子树 2.遍历右子树 3.遍历根节点 递归实现:/** * Definition for a ...

2018-08-26 15:26:33 1699

原创 LeetCode 94. 二叉树的中序遍历(C++)

题目:给定一个二叉树,返回它的中序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归实现/** * Definition for a binary tree node. * struct TreeNode { * int v...

2018-08-25 16:56:48 3634

原创 LeetCode 144. 二叉树的前序遍历 (C++)

题目:给定一个二叉树,返回它的 前序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗?思路:二叉树的前序遍历规则 1. 访问根结点; 2. 遍历左子树; 3. 遍历右子树 递归实现方式:/** * Definit...

2018-08-25 15:11:44 1014

原创 LeetCode 71. 简化路径

题目:给定一个文档 (Unix-style) 的完全路径,请进行路径简化。例如,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"边界情况:你是否考虑了 路径 = "/../" 的情况?在这种情况下,你需返回 "/" 。此外,路径中也可能包含多个斜杠 '/' ,如

2018-08-25 11:24:18 128

原创 LeetCode 150. 逆波兰表达式求值

题目:根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: ((2 + 1) * 3) = ...

2018-08-25 10:40:57 293

原创 LeetCode 20. 有效的括号(C++)

题目:给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出:...

2018-08-24 20:29:18 2490

原创 LeetCode 61. 旋转链表(C++)

题目:给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步

2018-08-24 15:57:35 562 1

原创 LeetCode 19. 删除链表的倒数第N个节点

题目:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗?思路:1.两次遍历:第一次遍历链表,求出整个链表的长...

2018-08-24 14:59:06 128

原创 LeetCode 147. 对链表进行插入排序(C++)

题目:对链表进行插入排序。 动画演示 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法: 1.插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 2.每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序...

2018-08-23 20:17:07 677

原创 排序算法——堆排序(大顶堆、小顶堆)

堆排序的思想这里就先不讲了,以后有时间再补上,下面是分别采用大顶堆和小顶堆实现的堆排序。 注意:下面例子中排序的数字是{1,2,5,3,6,4,9,7,8}。 大顶堆方式#include <iostream>#include <stdlib.h>using namespace std;//堆调整//将nums[s..m]调整为大顶堆,其中除了nums[s...

2018-08-21 16:19:43 4373 2

原创 LeetCode 24. 两两交换链表中的节点(C++)

题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。思路:建立虚拟头结点(为了不对head进行特殊处理),按照如下示意图进行节点交换。 ...

2018-08-20 06:49:49 2487

原创 LeetCode 21. 合并两个有序链表(C++)

题目:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:新建虚拟头结点,指针cur等于头结点,比较l1和l2的大小,将cur->next指向二者中较小的。/** * Def...

2018-08-19 16:59:44 779

原创 LeetCode 82. 删除排序链表中的重复元素 II(C++)

题目:定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3思路:这道题的陷阱在于需要删除所有含有重复数字的节...

2018-08-19 16:21:59 558

TeeChart2011.ocx && .net && 破解版

安装前请确定已经安装 .net环境,32位系统将TeeChart2011.ocx放在System32,64位系统放在SysWOW64文件加下,通过该文件夹下的cmd.exe 执行regsvr32 + 控件的路径+文件名进行注册

2018-03-28

C#实现带括号的逻辑表达式的运算(与或非)

实现了带括号的逻辑表达式的自动判定,如 ((true && !false) || false) && true || ( false && true )

2018-03-24

实现 DataTable按条件进行更新(类似sql的update)

使用C#直接对DataTable进行操作,实现了sql语句的update tabel set name = 'Clear_Mind' where id < 5 的功能。

2018-03-23

C#(Winform)实现右键菜单(带勾选)

通过Winfrom实现了右键菜单的功能,并且能够在选中右键弹出菜单选项后,自动将该选项勾选,代码其实就一句话,不想下载的话可以参考我的博客http://blog.csdn.net/my_clear_mind/article/details/79511174

2018-03-11

C# winform 导出datatable到excel的多个sheet

使用C#实现了将多个datatable中的内容导出到 一个excel文件的不同的sheet页,每个sheet页对应一个datatable。代码中的datatable是程序中添加的内容,从数据库中导出数据到excel的话只需要将数据表内容写入datatable即可。

2017-12-01

C# 导出excel表格(xls、xlsx两种格式)

使用C#实现了excel表格的导出功能,包含xls和xlsx两种格式。 程序有添加关于NOPI的引用,有疑问可以参考我的csdn博客http://blog.csdn.net/my_clear_mind

2017-09-12

C#连接mysql数据库与简单操作

本程序实现了使用C#连接mysql数据库,并进行简单的update操作,并且配有详细注释。 使用前需要安装mysql connector 网下载链接https://dev.mysql.com/downloads/connector/net/6.9.html 更多内容可以参考我的csdn博客 http://blog.csdn.net/my_clear_mind

2017-09-11

空空如也

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

TA关注的人

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