题目:
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
解题思路:
检测5出现的次数即可,如果n除以5等于m,说明n中有m的数可以被5整除。然后我们就可以用迭代的思路去更新n的值。
时间复杂度O(logn),空间复杂度O(1)。
代码实现:
class Solution { public int trailingZeroes(int n) { int num = 0; while (n > 0) { n /= 5; num += n; } return num; } }