# leetcode-merge-intervals

2020年4月16日

### 56. 合并区间

题目

首先将区间按起点由小到大排序，这样相邻的两个就能通过终点判断是否重合。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    class Solution:
      def merge(self, intervals):
        if not intervals:
          return []
        intervals.sort()
        merged = []
        l = len(intervals)
        m = intervals[0]
        for x in range(l-1):
          j = intervals[x+1]
          if m[1] >= j[0]:
            if m[1] <= j[1]:
              m = [m[0], j[1]]
            else:
              continue
          else:
            merged.append(m)
            m = j
        if m:
          merged.append(m)
        return merged