228.汇总区间
小于 1 分钟
228.汇总区间
/*
* @lc app=leetcode.cn id=228 lang=typescript
*
* [228] 汇总区间
*/
// @lc code=start
function summaryRanges(nums: number[]): string[] {
if (nums.length === 0) return [];
if (nums.length === 1) return nums.map(el => String(el));
let res: string[] = [];
let start: number | null = null;
for (let i = 0; i < nums.length; i++) {
if (start == null) start = nums[i];
let preStart: number = nums[i];
if (preStart + 1 == nums[i + 1]) {
preStart = nums[i + 1];
} else {
if (start == preStart) {
res.push(`${start}`);
} else {
res.push(`${start}->${preStart}`);
}
start = null;
}
}
return res;
}
// @lc code=end
Loading...
