递归换循环
备份