博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unique Binary Search Trees II
阅读量:5069 次
发布时间:2019-06-12

本文共 1392 字,大约阅读时间需要 4 分钟。

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
1 /** 2  * Definition for binary tree 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; left = null; right = null; } 8  * } 9  */10 public class Solution {11     public ArrayList
generateTrees(int n) {12 // Start typing your Java solution below13 // DO NOT write main() function14 return generateTrees(1,n);15 }16 public ArrayList
generateTrees(int a, int b){17 ArrayList
res = new ArrayList
();18 if(a>b) res.add(null); 19 for(int i=a;i<=b;i++){20 ArrayList
temp1 = generateTrees(a,i-1);21 ArrayList
temp2 = generateTrees(i+1,b);22 for(TreeNode n:temp1)23 for(TreeNode m:temp2){24 TreeNode temp= new TreeNode(i);25 temp.left=n;26 temp.right=m;27 res.add(temp);28 }29 }30 return res;31 }32 }

 

转载于:https://www.cnblogs.com/reynold-lei/p/3340001.html

你可能感兴趣的文章
看图软件推荐
查看>>
安全测试的一些漏洞和测试方法
查看>>
spring框架学习笔记(八)
查看>>
JS取得绝对路径
查看>>
排球积分程序(三)——模型类的设计
查看>>
python numpy sum函数用法
查看>>
Linux中的SELinux详解--16
查看>>
php变量什么情况下加大括号{}
查看>>
less入门
查看>>
如何实现手游app瘦身?
查看>>
linux程序设计---序
查看>>
【字符串入门专题1】hdu3613 【一个悲伤的exkmp】
查看>>
C# Linq获取两个List或数组的差集交集
查看>>
21.Longest Palindromic Substring(最长回文子串)
查看>>
HDU 4635 Strongly connected
查看>>
ASP.NET/C#获取文章中图片的地址
查看>>
Spring MVC 入门(二)
查看>>
Java处理多人同时读写文件的文件锁处理
查看>>
格式化输出数字和时间
查看>>
页面中公用的全选按钮,单选按钮组件的编写
查看>>