还是两个指针start和end标注起始位置,要注意坐标不要越界
class Solution(object):
def summaryRanges(self, nums):
"""
:type nums: List[int]
:rtype: List[str]
"""
if len(nums) == 0:
return []
if len(nums) == 1:
return[str(nums[0])]
start = 0
end = 0
res = []
for i in range(len(nums)):
if (i+1) < len(nums) and nums[i+1] == nums[i] + 1:
end += 1
else:
if end - start > 0:
temp = str(nums[start]) +"->"+str(nums[end])
res.append(temp)
else:
res.append(str(nums[start]))
if i+1 < len(nums):
start = i+1
end = i+1
return res