一、题目说明 题目617. Merge Two Binary Trees,合并两个二叉树。难度是Easy! 二、我的解答 这个题目,用递归解法非常简单,同二叉树的递归遍历。 性能如下: 三、优化措施 非递归算法就不写了。 ...
分类:
其他好文 时间:
2020-05-01 10:38:15
阅读次数:
57
运行结果: 代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 #include <bits/stdc++.h> 4 using namespace std; 5 const int MAX = 1024; 6 const char * ...
分类:
其他好文 时间:
2020-04-19 00:50:47
阅读次数:
48
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。1/\22/\/\3443递归解法:先判断根节点,然后再递归判断子节点是否满足镜像二叉树的条件.迭代求法:使用队列进行迭代,原理与BFS相同,先将根节点入队两次,当队列不为空时,进行判断是否满足对称二叉树的条件,当队列为空或者检测到两个节点的值不相同时(即不对称),结束循环.递归解法classSolutio
分类:
其他好文 时间:
2020-04-13 23:09:54
阅读次数:
83
1、反转链表 "力扣地址" 实现方法一:三指针遍历,pre+cur+next;时间复杂度O(n),空间复杂度O(1)。 实现方法二:递归解法,1+ (reverse(2,3));时间复杂度O(n),空间复杂度O(n)(递归调用要占用系统栈空间)。 2、删除链表的节点 "力扣地址" 解法:增加dumm ...
分类:
编程语言 时间:
2020-04-05 13:47:46
阅读次数:
84
101. 对称二叉树,c++迭代递归解法 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树?[1,2,2,3,4,4,3] 是对称的。 但是下面这个?[1,2,2,null,3,null,3] 则不是镜像对称的: 这道题可以用迭代和递归两种方法求解 迭代法代码如下,主要思想是,将树的左右分支放 ...
分类:
编程语言 时间:
2020-02-23 00:04:30
阅读次数:
71
leedcode 10. 正则表达式匹配 递归解法,时间复杂度比较高,后面要尝试改成动规 bool end_or_not(string p) { for(int i=0;i<p.size();i+=2) { if(((p[i]>='a'&&p[i]<='z')||p[i]=='.')&&p[i+1] ...
分类:
编程语言 时间:
2020-02-07 20:49:41
阅读次数:
60
递归解法 由暴力递归而来的DP解法 这次只需要线性空间的内存即可做到。 参考资料 "Decode Ways" " LeetCode 91. Decode Ways" ...
分类:
其他好文 时间:
2020-01-04 12:24:37
阅读次数:
44
要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 解法一:递归解法,但递归解法有很严重的效率问题,因为递归解法中重复的计算太多。 解法二:循环实现,避免重复计算,把已经得到的数列中间项保存起来。 public class Solution { public int ...
分类:
其他好文 时间:
2019-11-05 20:01:29
阅读次数:
78
master公式(也称主方法)是利用分治策略来解决问题经常使用的时间复杂度的分析方法,(补充:分治策略的递归解法还有两个常用的方法叫做代入法和递归树法),众所众知,分治策略中使用递归来求解问题分为三步走,分别为分解、解决和合并,所以主方法的表现形式: T [ n ]=a T[ n / b ] + T ...
分类:
其他好文 时间:
2019-08-22 11:11:51
阅读次数:
127
【问题】输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 【思路】递归解法:一般和深度有关的我们都可以使用dfs算法,然后使用一个res用于记录深度,每次递归到叶节点,将res和max进行比较,将最大的值存入max变量中,结束递 ...
分类:
其他好文 时间:
2019-08-20 22:28:43
阅读次数:
93