解题报告(9)简单递归

第一题

我的思路:

循环判断阶乘尾数是否为0

但似乎阶乘太大溢出了

 

 

标答的思路是

寻找阶乘中有几个尾数0,就是在找阶乘里有几个因子10

如11!=11*10*(3*3)*(2*4)*7*(2*3)*5*4*3*2*1

由于10只能由2*5组成,所以就是在找阶乘中有几对2和5,由于2肯定比5多,所以只要找有几个5就可以了,

因此是return n/5+trazeroes(n/5)

注:递归式由数学关系得到 

 

第二题

 

 第三题

 

 思路:递归思想,先写结束条件,当需要计数的时候,多思考在return里计数,return里的不仅是调用函数命令,也将他视作为一个数

第四题

 

 

 

 要求二叉树的深度,就求左子树和右子树深度最大值再加一,左子树和右子树也可以这么求,当访问到最下面的节点时,return,他的值是1,

注:此时max(root->left)和max(root->right)可视为同时执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值