两边逼近的方法嵌套太多，还需debug