对递归理解的不透彻,它里面是怎么在运转,请求讲解!
private static int Bind(int money)
{
// int TotalPing = 0;
//13+6+3+2+1
if (money == 1)
{
return 1;
}
else
{
return Bind(money / 2) + money;
}
}
------解决方案--------------------按照你写的累计:1+3+6=10,最后值 = 1, +返回值3 +返回值6,你可自己测试和跟踪,看是否如你所想。
------解决方案--------------------调用自身,直到money==1时,最内层N的调用返回1(弹至上一层),累加,然后又弹至上一层的上一层,累加...直到弹出最上层(第一次调用Bind),累加,然后return,整个结束