Given an array of intervals, merge all overlapping intervals.
With intervals = [[1,3],[2,6],[8,10],[15,18]]:
- [1,3] and [2,6] overlap (2 <= 3). Merge to [1,6].
- [8,10] and [15,18] don't overlap with anything.
- Result: [[1,6],[8,10],[15,18]].
With intervals = [[1,4],[4,5]]:
- [1,4] and [4,5] touch at endpoint 4. Consider them overlapping.
- Merge to [1,5].
Return the array of merged intervals.
Constraints: intervals.length .