use dp
practice
done，就是写得难看
interesting
longest distance between two nodes in a binary tree
减少recursion, 重要