zoukankan      html  css  js  c++  java
  • LeetCode 95. Unique Binary Search Trees II

    题目

    DFS,

    class Solution {
    public:
        int vis[100005];
        int m;
        vector<TreeNode*> generateTrees(int n) {
            vector<TreeNode*> ans;
            if(n==0)
                return ans;
            return fun(1,n);
        }
    
        vector<TreeNode*> fun(int l,int r)
        {
            vector<TreeNode*> result;
            for(int i=l;i<=r;i++)
            {
                vector<TreeNode*> lefts = fun(l,i-1);
                vector<TreeNode*> rights = fun(i+1,r);
    
                for(int j=0;j<lefts.size();j++)
                {
                    for(int k=0;k<rights.size();k++)
                    {
                        TreeNode* tree = new TreeNode(i);
                        tree->left = lefts[j];
                        tree->right = rights[k];
    
                        result.push_back(tree);
                    }
                }
            }
            if(result.size()==0)
            {
                result.push_back(NULL);
            }
    
            return result;
    
        }
    };
    
  • 相关阅读:
    字符串的操作
    前端
    HTML标签
    模块与包
    常用模块
    函数进阶
    函数初识
    文件操作
    集合及深浅拷贝
    python中的一些编码问题
  • 原文地址:https://www.cnblogs.com/dacc123/p/12161089.html
Copyright © 2011-2022 走看看