地址:点击打开链接
这个看是不是连续的数,如果是话就给出开始和结尾的数,如果不是的话,就重新开始,设定begin和end指针遍历就行
class Solution(object):
def summaryRanges(self, nums):
"""
:type nums: List[int]
:rtype: List[str]
"""
if not nums:
return []
if len(nums) == 1:
return [str(nums[0])]
begin = 0
end = 0
ret = []
while end < len(nums) - 1:
if nums[end + 1] == nums[end] + 1:
end += 1
else:
if end != begin:
ret.append(str(nums[begin]) + '->' + str(nums[end]))
else:
ret.append(str(nums[begin]))
end += 1
begin = end
if end != begin:
ret.append(str(nums[begin]) + '->' + str(nums[end]))
else:
ret.append(str(nums[begin]))
return ret