[LeetCode][JavaScript]Unique Binary Search Trees II
2015-11-08 22:09
766 查看
Unique Binary Search Trees II
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.For example,
Given n = 3, your program should return all 5 unique BST's shown below.
1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3
https://leetcode.com/problems/unique-binary-search-trees-ii/#
生成n个节点的二叉排序树。
跟上一题一样的思路,分治,从1到n遍历,选当前的点为根,比根小的在左子树,比根大的在右子树。
/article/7171054.html
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {number} n * @return {TreeNode[]} */ var generateTrees = function(n) { return getTree(1, n); function getTree(start, end){ var ret = [], i, j, k, left, right, node; if(start > end){ return [null]; }else if (start === end){ return [new TreeNode(start)]; } for(i = start; i <= end; i++){ left = getTree(start, i - 1); right = getTree(i + 1, end); for(j = 0; j < left.length; j++){ for(k = 0; k < right.length; k++){ node = new TreeNode(i); node.left = left[j]; node.right = right[k]; ret.push(node); } } } return ret; } };
相关文章推荐
- [LeetCode][JavaScript]Unique Binary Search Trees
- JSP,js,servlet之间传值时中文乱码的处理
- JavaScript 的同源策略
- 网页端JS的缓存问题
- 用SBT和Play进行JSON序列化
- JavaScript执行环境及作用域
- 2. javascript 引擎Rhino源代码分析 简单代码分析
- Exploring ES6(Leanpub ‘15)笔记(仅目录提纲)
- JS-函数
- JS-数组
- JS-语句
- 你不知道的JavaScript--Item29 DOM基础详解
- 你不知道的JavaScript--Item29 DOM基础详解
- js的bom对象简介
- JSP
- 1. javascript 引擎Rhino源代码分析 简介
- 在js中是否存在重载?
- 有关WebCalendar.js在日期显示中,与星期数不相符的修改
- 2015-09-28Javascript(一)
- js--webSocket入门