题目1
题解1
class Solution :
def trailingZeroes ( self, n: int ) - > int :
"""
末尾的0来自因子2和5 ,只有有5,就一定存在一个数可以拆成2(4,6,8)乘以某个数。
这样末尾就有0了,所以只用找到0的个数
"""
times = 0
while n >= 5 :
n //= 5
times += n
return times
附上题目链接
题目2
题解2
class Solution :
def rotate ( self, nums: List[ int ] , k: int ) - > None :
"""
Do not return anything, modify nums in-place instead.
尾删头添
"""
for i in range ( k) :
nums. insert( 0 , nums. pop( ) )
def rotate ( self, nums: List[ int ] , k: int ) - > None :
"""
切片
"""
for i in range ( k) :
nums[ : ] = [ nums[ - 1 ] ] + nums[ : - 1 ]
附上题目链接
题目3
题解3
class Solution :
def destCity ( self, paths: List[ List[ str ] ] ) - > str :
from collections import defaultdict
start = paths[ 0 ] [ 0 ]
paths_dict = defaultdict( str )
for num in paths:
paths_dict[ num[ 0 ] ] = num[ 1 ]
while paths_dict[ start] != '' :
start = paths_dict[ start]
return start
附上题目链接