leetcode894
class Solution {
private Map<Integer, List<TreeNode>> memo;
public List<TreeNode> allPossibleFBT(int N) {
this.memo = new HashMap<>();
return backtrack(N);
}
private List<TreeNode> backtrack(int n) {
List<TreeNode> ret = new ArrayList<>();
if (n < 1) {
return ret;
}
if (n == 1) {
ret.add(new TreeNode(0));
return ret;
}
if (memo.containsKey(n)) {
return memo.get(n);
}
for (int i = 1; i < n; i++) {
for (TreeNode left : backtrack(i)) {
for (TreeNode right : backtrack(n - i - 1)) {
TreeNode node = new TreeNode(0);
node.left = left;
node.right = right;
ret.add(node);
}
}
}
memo.put(n, ret);
return ret;
}
}
leetcode894的更多相关文章
- [Swift]LeetCode894. 所有可能的满二叉树 | All Possible Full Binary Trees
A full binary tree is a binary tree where each node has exactly 0 or 2 children. Return a list of al ...
随机推荐
- springAop注解式Demo
package AnnoAspect.Aspect; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.anno ...
- Vue 中 diff 算法后更新 DOM 的方法
vue 2.0加入了 virtual dom,在 node_modules\vue\src\core\vdom\patch.js 中会对虚拟 DOM 进行 diff 算法等,然后更新 DOM. 网上的 ...
- Python3数据类型及转换
I. 数据类型 Python3将程序中的任何内容统称为对象(Object),基本的数据类型有数字和字符串等,也可以使用自定义的类(Classes)创建新的类型. Python3中有六个标准的数据类型: ...
- 手机游戏引擎 Cocos
Cocos是全球最受欢迎的移动游戏开发解决方案,整合了Cocos 2d-x.Cocos 2d-js.Cocos Studio.Cocos Code IDE等框架及工具,无论您是开发新手还是行业资深人士 ...
- Mybatis逆向工程的配置
源码github下载地址:https://github.com/wcyong/mybatisGeneratorCustom.git 参考文章:https://www.cnblogs.com/whgk/ ...
- springboot2.0 springcloud 断路器仪表盘支持
springboot 1.5 的时候 springcloud 添加 断路器仪表盘 按照网上的方法是没有问题的 但是 springboot2.0的时候一直无法连接 所以需要添加 @Beanpubl ...
- 16.2 在SecureCRT编写C程序不高亮显示
打开“会话选项”>在类别里找“终端”>选择“仿真”>终端的下拉里选择“Xtrem”>在“ANSI颜色”里打钩,在“使用颜色方案”打钩
- 【TensorFlow】tfdbg调试注意事项
按照网上的帖子开启tfdbg调试,可能因为没有安装curses和pyreadline包导致失败. 运行 python test001.py --debug 报错: ModuleNotFoundErro ...
- Centos6.9部署Gitlab-11.9.8并汉化
Git 是一种分布式的代码版本管理系统,git在工作时可以不用时刻依赖后台服务器,在本地电脑上就可以管理版本控制,但是在需要协同开发时就必须要使用后台服务器了,目前互联网上有github,码云这样的远 ...
- 承接教育类html5交互课件/动画/游戏外包——如何快速开发一款html5交互课件/动画产品
根据不同的课件类型选择不同的引擎,选择最合适的开发工具为您实现想要的课件效果.