老师请问递归的时候返回值类型怎么确定?

老师请问递归的时候返回值类型怎么确定?

# 具体遇到的问题
警有在尝试去理解老师说的“注意递归的宏观语义”,但还是经常对递归犯迷糊,比如现在最想解决的问题是递归的返回值类型。现在我的思路是这样:

1尽量在递归体中使用void类型 以及外部记录量 这样可以极大降低难度

2 但是void只适用于遍历记录的情况 遇到修改的时候无能为力 比如二叉树中的辅助递归函数helper就不太知道使用什么返回类型 不知道是TreeNode或者Boolean 还是很迷糊


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
liuyubobobo 2020-12-06 21:47:40

不是先确定递归的返回值,在确定递归的语义;


而是先确定递归的语义,再确定递归的返回追;


比如你的递归的语义是:求这个节点为根节点的二分搜索树的高度,那么返回值就应该是 int;


比如你递归的语义是:求进行某个操作以后(比如删除,添加,更新),新的二分搜索树的根节点,那么返回值就是一个 Node


先想明白怎样递归地解决问题(问题的递归性质在哪里),在具体地想基于这个递归性质,我们的递归函数的语义是怎样的,最后,细化我们的递归函数的参数是什么?返回值是什么?


继续加油!:)

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
算法与数据结构
  • 参与学习       2594    人
  • 解答问题       1091    个

慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师