第一题
我的思路:
循环判断阶乘尾数是否为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)可视为同时执行