5.3.2 Unique Binary Search Trees II

来源:互联网 发布:内蒙古七二三工程知乎 编辑:程序博客网 时间:2024/06/05 15:35

原题链接:https://oj.leetcode.com/problems/unique-binary-search-trees-ii/

我的思路:这题应该和上一题(计算有多少种BST)相似,都可以用递归来做。但是怎么从2个节点的树出发, 构建3个节点的树呢?

"We consider to use each value i as the root, and recursively generate its left subtrees that store 1i1 and right subtrees that store i+1n . After that, we make each combination to combine them as a list of trees". (引用自http://www.darrensunny.me/leetcode-unique-binary-search-trees-ii/)

<span style="font-size:14px;">/** * 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 ArrayList<TreeNode> generateTrees(int n) {        return generateTreesHelper(1, n);    }    private ArrayList<TreeNode> generateTreesHelper(int left, int right){        ArrayList<TreeNode> list = new ArrayList<TreeNode>();        if(left > right) {            list.add(null);            return list;        }        for(int i = left; i <= right; i++){            ArrayList<TreeNode> lefts = generateTreesHelper(left, i-1);            ArrayList<TreeNode> rights = generateTreesHelper(i+1, right);            //TreeNode root = new TreeNode(i);//if we put it here, will generate error below            for(int j = 0; j < lefts.size(); j++){                for(int k = 0; k < rights.size(); k++){                    TreeNode root = new TreeNode(i);                    root.left = lefts.get(j);                    root.right = rights.get(k);                    list.add(root);                }            }        }       return list;    }}</span>

Submission Result: Wrong Answ

Input:3Output:[{1,#,3,2},{1,#,3,2},{2,1,3},{3,2,#,1},{3,2,#,1}]Expected:[{1,#,2,#,3},{1,#,3,2},{2,1,3},{3,1,#,#,2},{3,2,#,1}]

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 老是恶心想吐怎么回事 胃胀恶心想吐怎么回事 突然头疼恶心想吐是怎么回事 犯恶心想吐是怎么回事 天天恶心想吐怎么回事 恶心想吐拉肚子怎么回事 头晕耳鸣恶心想吐是怎么回事 头疼恶心吐怎么回事 恶心想吐拉肚子 咳嗽恶心想吐怎么回事 偏头疼恶心想吐是怎么回事 经常头疼恶心想吐是怎么回事 突然头痛恶心想吐是怎么回事 胃胀痛恶心是怎么回事 头痛 恶心 想吐 老是恶心是怎么回事 头疼加恶心是怎么回事 头晕头疼恶心想吐是怎么回事 头疼头晕恶心想吐是怎么回事 胃难受恶心想吐怎么回事 经常头晕恶心想吐是怎么回事 孕妇头晕恶心想吐是怎么回事 突然恶心想吐是怎么回事 恶心吐怎么回事 恶心想吐头晕 胃部不舒服恶心想吐 晚上恶心想吐是怎么回事 总恶心是怎么回事 恶心想吐头晕怎么回事 胃难受恶心怎么回事 来月经恶心想吐怎么回事 胃老是恶心怎么回事 老是头疼恶心怎么回事 为什么恶心想吐 经期恶心想吐是怎么回事 老是恶心想吐 头疼还恶心想吐咋回事 胃痛有点恶心想吐 感冒头晕恶心想吐是怎么回事 老是觉得恶心想吐是怎么回事 突然恶心想吐