注意循环的结束点 最后一个数字还没有加进去 所以循环后继续做一遍
public class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> list = new ArrayList<String>();
if ( nums == null || nums.length == 0)
return list;
int left = 0;
for ( int i = 0; i < nums.length - 1; i ++ ){
if ( nums[ i + 1 ] != nums[i] + 1 ){
String str;
if ( left == i)
str = Integer.toString(nums[left]);
else
str = Integer.toString(nums[left]) + "->" + Integer.toString(nums[i]);
list.add(str);
left = i + 1;
}
}
String str;
if ( left == nums.length -1 )
str = Integer.toString(nums[left]);
else
str = Integer.toString(nums[left]) + "->" + Integer.toString(nums[nums.length-1]);
list.add(str);
return list;
}
}