递归可视化 字符串翻转Recursive Reverse
2022-06-29 本文已影响0人
ae12
感觉递归真的反人类,人脑很容易被转进去,然后就不知所以,很懵逼,还是要可视化的图片更容易理解。
输入一行字符串,对字符串反转输出
例如:输入4321
输出 1234
递归可视化过程,转化为子问题,
1.反转“4321”转化为-->4+反转"321" --->先反转"321"--- >result +"4" 即可
- 反转 “321” --> 3+result= resverse("21")
- 反转"21" ->2+result =reverse("1")




return value="1" 赋值给subSolution

reverse("21") -->subSolusion =reverse("1")=1,继续往下执行solusion=1+word[0]=“12” ,并return “12”

上面 return后 ---------> reverse("321")

回退到reserse(321) ,subProblem=21 ,subSolusion=reverse(21)的地方,如下

然后继续往下执行
solusion=subSolusion+word[0]

执行到return ,

则回退到最顶栈的reverse("1234")的subSolusion=reverse("231")返回,如下

继续往下执行 solusion=subSolusion+word[0]:

return solusion="1234",结束
