8.7.2 正确的递归实现