找規(guī)律,對(duì)于每一次的n,都可以看成有不同的數(shù)目作為根節(jié)點(diǎn),然后再算這個(gè)根節(jié)點(diǎn)的左右有多少的不同的節(jié)點(diǎn),就有多少種可能,最后左右相乘就ok
class Solution {public: int numTrees(int n) { vector<int>ve; ve.push_back(1); ve.push_back(1); ve.push_back(2); for(int i = 3; i <= n; ++ i){ int sum = 0; for(int j = 1; j <= i; ++ j){ sum = sum + ve[j - 1] * ve[i - j]; } ve.push_back(sum); } return ve[n]; }};新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注