added binary-search-tree solution