问题:
Given a sorted integer array without duplicates, return the summary of its ranges.
Example 1:
Input: [0,1,2,4,5,7] Output: ["0->2","4->5","7"]
Example 2:
Input: [0,2,3,4,6,8,9] Output: ["0","2->4","6","8->9"]
解决:
【题意】给定一个连续数组,找到相邻的连续数字用-->连接。
① 双指针直接判断。
class Solution { //0ms
public List<String> summaryRanges(int[] nums) {
List<String> res = new ArrayList<>();
int left = 0;
int right = 0;
while(right < nums.length){
while (right + 1 < nums.length && nums[right] + 1 == nums[right + 1]){
right ++;
}
String tmp = "";
if (right > left){
tmp = nums[left] + "->" + nums[right];
}else if (right == left){
tmp += nums[left];
}
res.add(tmp);
left = right + 1;
right = left;
}
return res;
}
}