Count and Say
要点:考点就是count和duplicate的code pattern:如果基本条件判断nums[i]和nums[i+1],那么要loop从0到n-1,但最后一个元素特殊处理:这种情况和不相等同样处理。如果是判断nums[i]和nums[i-1],那么要loop从1到n,最后特殊处理。
错误点:
- next要append
class Solution(object):
def countAndSay(self, n):
"""
:type n: int
:rtype: str
"""
pre = "1"
for i in range(2, n+1):
count=1
next = []
for j in range(len(pre)):
if j==len(pre)-1 or pre[j]!=pre[j+1]:
next.append(str(count))
next.append(pre[j])
count = 1
else:
count+=1
pre=''.join(next)
return pre