class Solution:
def countAndSay(self, n: int) -> str:
if n == 1:
return "1"
else:
return self.nextItem(self.countAndSay(n-1))
def nextItem(self, string: str):
result = ""
times = 1
lens = len(string)
for i, s in enumerate(string):
if i + 1 < lens and s != string[i + 1]:
result += str(times) + s
times = 1
elif i + 1 == lens:
result += str(times) + s
else:
times += 1
return result
递归解法,nextItem就是转移函数