leetcode——95.不同的二叉搜索树II

Posted 欣姐姐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode——95.不同的二叉搜索树II相关的知识,希望对你有一定的参考价值。

不是我自己写出来的,思想大概是懂的,没自己写,看了别人的代码;

public List<TreeNode> generateTrees(int n) {
        if(n == 0){
            return new LinkedList<>();
        }
        return generate_trees(1,n);

    }

    private LinkedList<TreeNode> generate_trees(int start, int end) {
        LinkedList<TreeNode> all_trees = new LinkedList<>();
        if(start > end){
            all_trees.add(null);
            return all_trees;
        }
        for(int i = start;i<=end ;i++){
            LinkedList<TreeNode> left_trees = generate_trees(start,i-1);
            LinkedList<TreeNode> right_trees = generate_trees(i+1,end);
            for(TreeNode l : left_trees){
                for(TreeNode r : right_trees){
                    TreeNode current_tree = new TreeNode(i);
                    current_tree.left = l;
                    current_tree.right = r;
                    all_trees.addLast(current_tree);
                }
            }
        }
        return all_trees;
    }

 

 

——2020.7.1

以上是关于leetcode——95.不同的二叉搜索树II的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 95.不同的二叉搜索树II

Leetcode 95.不同的二叉搜索树II

LeetCode(95): 不同的二叉搜索树 II

leetcode 95. 不同的二叉搜索树II

LeetCode95. 不同的二叉搜索树 II

LeetCode-95-不同的二叉搜索树II