Leetcode 95.不同的二叉搜索树II
不同的二叉搜索树2 给定一个整数 n ,生成所有由 1 ... n 为节点所组成的 二叉搜索树 。 示例: 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] 解释: 以上的输出对应以下 5 种不同结构的二叉搜索树: 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 public : 12 vector<TreeNode *> generateTrees( int n) { 13 vector<TreeNode *> ret; 14 if (n == 0 ) 15 return ret; 16 return Helper(1 , n); 17 } 18 vector<TreeNode *> Helper( int begin, int end) 19 { 20 vector<TreeNode *> ret;