JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
复制代码
 1 public class Solution {
 2     public ArrayList<TreeNode> generateTrees(int n) {
 3         // IMPORTANT: Please reset any member data you declared, as
 4         // the same Solution instance will be reused for each test case.
 5         return generate(1, n);
 6     }
 7     public ArrayList<TreeNode> generate(int start, int end){
 8         ArrayList<TreeNode> subTree = new ArrayList<TreeNode>();
 9         if(start > end){
10             subTree.add(null);
11             return subTree;
12         }
13         
14         for(int i = start; i <= end; i++){
15             ArrayList<TreeNode> leftSubTree = generate(start, i - 1);
16             ArrayList<TreeNode> rightSubTree = generate(i + 1, end);
17             for(int j = 0; j < leftSubTree.size(); j++){
18                 for(int k = 0; k < rightSubTree.size(); k++){
19                     TreeNode node = new TreeNode(i);
20                     node.left = leftSubTree.get(j);
21                     node.right = rightSubTree.get(k);
22                     subTree.add(node);
23                 }
24             }
25         }
26         return subTree;
27     }
28 }
复制代码

 

posted on   JasonChang  阅读(157)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络
点击右上角即可分享
微信分享提示