public class Solution {
public List<String> summaryRanges(int[] nums) {
//首尾问题,考虑使用双指针。 Two Pointers
List<String> result = new ArrayList<String>();
if (nums == null || nums.length == 0) {
return result;
}
int start = 0;
int end = 0;
while (end < nums.length) {
if (end + 1 < nums.length && nums[end + 1] == nums[end] + 1) {
end++;
} else {
if (start == end) {
result.add(Integer.toString(nums[start]));
} else {
String str = nums[start] + "->" + nums[end];
result.add(str);
}
end++;
start = end;
}
}
return result;
}
}
Summary Ranges
最新推荐文章于 2022-04-12 16:59:41 发布