class Solution:
def countAndSay(self, n):
"""
:type n: int
:rtype: str
"""
output_str = "1"
for i in range(n-1): #for i in range(0)这是不执行的
count = 0
s = "" #保存第i个的报数值,在新一轮循环之后清空
frist = output_str[0]
for c in output_str:
if c == frist:
count += 1
else:
s += str(count) + frist #这是不等情况下,s重新添加元素
frist = c
count = 1
s += str(count) + c #这是在c==frist情况下,s重新添加元素(因为在最后一个元素时,就是相等情况)
output_str = s #把s赋值给output_str之后进行新一轮的循环则s可以初始化为""
#first = output_str[0] #这个可以不要,结果一样
return output_str
报数(LeetCode第38题)
最新推荐文章于 2021-01-28 11:19:22 发布