int numTrees(int n){ int hash[50]={0} ,i, j; hash[0]=1; for(i=1; i<=n; i++) for(j=1; j<=i; j++) hash[i] += hash[j-1]*hash[i-j]; return hash[n]; }