注意循环的结束点 最后一个数字还没有加进去 所以循环后继续做一遍
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;
}
}

本文详细阐述了一个改进循环处理的算法实现,旨在确保循环结束后正确处理最后一个元素。通过实例演示,展示了如何优化循环逻辑,确保算法的完整性和准确性。
401

被折叠的 条评论
为什么被折叠?



