[LeetCode Unique Binary Search Trees II]

Unique Binary Search Trees II

题意:输入是n,要求枚举出包含1…n这n个整数的所有二叉搜索树(BST)。

分析:显然这题n不可能很大,考察的是如何枚举每种可能的状态。首先考虑了所有全排列的插入构建BST,发现这样得到的BST有重复。然后发现,若设n的全部BST为T(n),当根是i时,其左子树的所有可能情况为T(i-1),右子树的所有可能情况为T(n-i)。这样就可以按n由小到大地递推构造出各个BST了。

ps:LeetCode上面很多这种要求构造出所有可行解的题目,这是之前做的ACM中几乎没有的。虽然题型相对陌生,但解起来也很好玩~

  • onion

    好玩,好玩,好玩。。。。。。。。。。。。。。。。。。。。。。。。。。