Python simple explained solution O(n) time, O(1) space, faster than 99%
\nclass Solution:\n    def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:\n\t\n        # edge case #1: no intervals in ori
```\nclass Solution:\n    def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:\n\t\n        # edge case #1: no intervals in original list\n        if len(intervals) == 0:\n            return [newInterval]\n\t\t\t\n        # edge case #2: new interval goes in the end of the list with no overlap\n        if intervals[-1][1] < newInterval[0]:\n            return intervals + [newInterval]\n\t\t\t\n        # edge case #3: new interval goes in the beginning of the list with no overlap\n        if newInterval[1] < intervals[0][0]:\n            return [newInterval] + intervals\n\t\t\t\n        res = []\n        i = 0\n        for curr_interval in intervals:\n            # new interval doesn\'t overlap\n            if curr_interval[1] < newInterval[0]:\n                res.append(curr_interval)\n            else:\n                first = min(curr_interval[0], newInterval[0])\n                last = newInterval[1]\n                i = intervals.index(curr_interval)\n\t\t\t\t\n                # while new interval overlaps:\n                while i < len(intervals) and last >= intervals[i][0]:\n                    last = max(intervals[i][1], newInterval[1])\n                    i+=1\n                res.append([first, last])\n                break\n\t\t\t\t\n        # add the rest\n        res += intervals[i:]\n        return res\n```\n**Like it? please upvote...**
['Python3']