方法一:
class Solution:
def gcdOfStrings(self, str1: str, str2: str) -> str:
for i in range(min(len(str1), len(str2)), 0, -1):
if len(str1) % i == 0 and len(str2) % i == 0:
if str1 == str2[:i] * (len(str1) // i) and str2 == str1[:i] * (len(str2) // i):
return str1[:i]
return ''
方法二:迭代
class Solution:
def numberOfSteps (self, num: int) -> int:
if num == 1:
return 1
if num == 2:
return 2
if num%2==0:
return self.numberOfSteps(num//2) + 1
else:
return self.numberOfSteps(num - 1) + 1
本文详细介绍了两种解题方法来解决LeetCode上的1342题。方法一是使用递归,深入探讨了算法思路;方法二是采用迭代的方式,通过循环逐步将数字转换为0的过程。文章适合熟悉Python编程并热衷于算法挑战的读者。
1177

被折叠的 条评论
为什么被折叠?



