95 96不同的二叉搜尋樹I,II

2021-09-19 09:20:13 字數 543 閱讀 6452

96. 不同的二叉搜尋樹

class solution 

}return dp[n];

}};

95. 不同的二叉搜尋樹 ii

vector* generatetreedfs(int start,int end)}}

return subtree;

}class solution ;

return *generatetreedfs(1,n);

}};

總結:

95題考察動態規劃,主要看出規律:當dp[0],即沒有節點的時候,把空樹也假設成乙個二叉搜尋樹,當dp[1],乙個結點自然而然也是乙個二叉搜尋樹;1~n的序列中,如果第i個作為root,那麼前面i-1個結點肯定在左子樹,右邊的n-i-1個結點肯定在右子樹,dp中儲存的是i個結點的二叉搜尋樹個數。

96題求不同的樹的路徑出來,應該用深搜來做。1,...,n,n個數每個數都可以做根節點,分別把每個數做根節點時的左子樹和右子樹找出來,按左-根-右的順序連線起來,就是個二叉搜尋樹。

Leetcode 95 96 不同的二叉搜尋樹

輸入 3 輸出 1,null,3,2 3,2,null,1 3,1,null,null,2 2,1,3 1,null,2,null,3 解釋 以上的輸出對應以下 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3 給定乙個整數 n,求以 1 n 為節點組成的二叉搜...

不同的二叉搜尋樹

題目 力扣 解題思路 可以看注釋 class solution return helper choice,k choice表示選擇,按大小順序排列,k表示取第k個序列,從1開始計數 public string helper listchoice,int k 以某一元素開頭的序列個數,一共有n n個 ...

不同的二叉搜尋樹

leetcode演算法 演算法題 動態規劃 dp i 代表的是長度為i的序列所能構成多少個不同的二叉搜尋樹 f x,i 代表的是以x為根,長度為i所能構成的不同的二叉搜尋樹的種類 那麼dp i f 1,i f 2,i f i,i 同時f x,i 的公式也出來了1 2 3 4 x i 1 i 可以發現...