原题地址:https://oj.leetcode.com/problems/count-and-say/
题意:
The count-and-say sequence is the sequence of integers beginning as
follows:1, 11, 21, 1211, 111221, ...
1
is read off as "one
1"
or 11
.11
is read off
as "two
1s"
or 21
.21
is read off
as "one 2
, then one
1"
or 1211
.
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
解题思路:模拟法。
代码:
class Solution: # @return a string def count(self,s): t=‘‘; count=0; curr=‘#‘ for i in s: if i!=curr: if curr!=‘#‘: t+=str(count)+curr curr=i count=1 else: count+=1 t+=str(count)+curr return t def countAndSay(self, n): s=‘1‘ for i in range(2,n+1): s=self.count(s) return s