树形递归

Signed-off-by: flexie <flexie@foxmail.com>