二叉树——105. 从前序与中序遍历序列构造二叉树 题目: 思路: 这题就是考察两种遍历的特点,前序遍历的第一个为root结点,知道了root结点,就可以在中序遍历中知道在root结点之前的为左子树,在root结点之后的为右子树。然后就可以递归的构造出左子树和右子树。 具体实现的时候,就是要借助哈希 ...
分类:
其他好文 时间:
2021-04-12 12:33:14
阅读次数:
0
题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:计算1+2+3+...+n, 可以认为是一个递归的过程, 这点很容易理解。但是怎么不用分支判断来保证递归的终止呢。通过短路运算0&&cout使条 ...
分类:
其他好文 时间:
2021-04-12 12:09:00
阅读次数:
0
二叉树——144. 二叉树的前序遍历 题目: 思路: 前序遍历用递归,递归逻辑就是前序遍历的顺序:中左右,然后就行了。 代码: class Solution { public: void traversal(TreeNode* node, vector<int>& vec){ // 终止条件 if( ...
分类:
其他好文 时间:
2021-04-12 11:54:04
阅读次数:
0
思路: 如果一个数为丑数,那么自然会被2,3,5整除,最后得到1,那么我们一直循环判断n是否能被2,3,5其中一个整除,如果能 那么n=n/(2 or 3 or 5)。如果三个数都不能整除那么就返回false。如果循环结束还没有返回false,那么就直接返回true。 代码: class Solut ...
分类:
其他好文 时间:
2021-04-12 11:42:59
阅读次数:
0
归并排序介绍 一种分而治之思想 归并排序步骤 从下往上的归并排序(自下而上的迭代) 从上往下的归并排序(自上而下的递归):它与"从下往上"在排序上是反方向的。它基本包括3步: ① 分解 -- 将当前区间一分为二,即求分裂点 mid = (low + high)/2; ② 求解 -- 递归地对两个子区 ...
分类:
编程语言 时间:
2021-04-10 13:21:25
阅读次数:
0
递归求1-100之和 /* *求1-100之和 */ function sum(num1, num2) { var num = num1 + num2; if (num2 + 1 > 100) { return num; } else { return sum(num, num2 + 1) } } ...
分类:
其他好文 时间:
2021-04-10 13:03:05
阅读次数:
0
1. 什么是方法? System.out.println() System是系统类,out是System类下的一个对象,println()是out对象下的方法 java方法是语句的集合,他们在一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被 ...
分类:
编程语言 时间:
2021-04-09 13:33:38
阅读次数:
0
我的 CSDN 博客:blog.csdn.net/gdutxiaoxu我的掘金:juejin.im/user/220747…github: github.com/gdutxiaoxu/微信公众号:程序员徐公 前言 说到树的四种遍历方式,可能大家第一时间都会想到它的四种遍历方式,并快速说了它的特点。 ...
分类:
编程语言 时间:
2021-04-09 13:01:00
阅读次数:
0
翻转二叉树,2种方案,递归与非递归 (个人更喜欢非递归的方案,大多数情况下非递归的迭代都拥有更低的时空间复杂度,当然也存在 傅里叶快速变换那种小而美的递归方案,见仁见智吧) 1. 递归(深度优先遍历方案) 此方案中,我们会直接从最顶层父节点,一路递归至最左侧叶子节点, 然后再递归至其父节点的右孩子, ...
分类:
其他好文 时间:
2021-04-07 11:36:18
阅读次数:
0
关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。 一、代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及 ...
分类:
编程语言 时间:
2021-04-07 11:10:49
阅读次数:
0