95. Unique Binary Search Trees II
class Solution { public List<TreeNode> generateTrees(int n) { if(n==0) return new ArrayList<TreeNode>(); return generateTrees(1, n); } private List<TreeNode> generateTrees(int i, int j) { List<TreeNode> res=new ArrayList<TreeNode>(); if(i>j) res.add(null); else { for(int k=i;k<=j;k++) { List<TreeNode> left=generateTrees(i,k-1); List<TreeNode> right=generateTrees(k+1,j); for(TreeNode l:left) for(TreeNode r:right) { TreeNode node=new TreeNode(k); node.left=l; node.right=r; res.add(node); } } } return res; } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步