Python Merge Sort Easy Implementation
\nclass Solution:\n    def sortArray(self, nums: List[int]) -> List[int]:      \n        # Length 1 is always sorted\n        if len(nums) == 1:\n            re
```\nclass Solution:\n    def sortArray(self, nums: List[int]) -> List[int]:      \n        # Length 1 is always sorted\n        if len(nums) == 1:\n            return nums\n        \n        # Split array into two subarrays\n        half = len(nums) // 2\n        left = nums[:half]\n        right = nums[half:]\n        \n        # Recursively break the arrays - O(log n)\n        left = self.sortArray(left)\n        right = self.sortArray(right)\n        \n        # O(n) sort\n        return sort(left, right)\n    \n# Merge sort helper method\ndef sort(a, b):\n    out = []\n    while a and b:\n        if a[0] <= b[0]:\n            out.append(a.pop(0))\n        else:\n            out.append(b.pop(0))\n    if a:\n        out += a\n    else:\n        out += b\n    return out\n```
[]