LeetCode Unique Binary Search Trees II
2015-01-28 23:19
387 查看
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.
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
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; left = null; right = null; } * } */ public class Solution { public List<TreeNode> generateTrees(int n) { return create(1, n); } List<TreeNode> create(int start,int end) { List<TreeNode> results = new ArrayList<TreeNode>(); if (start > end) { results.add(null); return results; } for (int k = start; k <= end; k++) { List<TreeNode> left = create(start, k - 1); List<TreeNode> right = create(k + 1, end); for (int i = 0; i < left.size(); i++) { for (int j = 0; j < right.size(); j++) { TreeNode root = new TreeNode(k); root.left = left.get(i); root.right = right.get(j); results.add(root); } } } return results; } }
相关文章推荐
- [LeetCode] Unique Binary Search Trees II
- LeetCode_DP_Unique Binary Search Trees II
- 【LeetCode】Unique Binary Search Trees II
- leetcode-java-95. Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- leetcode95~Unique Binary Search Trees II
- Java for LeetCode 095 Unique Binary Search Trees II
- LeetCode: Unique Binary Search Trees II
- leetcode -- Unique Binary Search Trees II
- Leetcode: 95. Unique Binary Search Trees II
- Unique Binary Search Trees II [Leetcode 解题报告]
- [LeetCode] Unique Binary Search Trees II dfs 深度搜索
- leetcode Unique Binary Search Trees II
- Leetcode: Unique Binary Search Trees II
- 95. Unique Binary Search Trees II ,leetcode
- Leetcode: Unique Binary Search Trees II
- Leetcode 95. Unique Binary Search Trees II (Medium) (cpp)
- 《leetCode》:Unique Binary Search Trees II
- LeetCode095 Unique Binary Search Trees II
- leetcode - 95.Unique Binary Search Trees II