88. 合并两个有序数组
傻子解法
class Solution:
def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
for i in range(n):
nums1[m+i] = nums2[i]
nums1.sort()
return nums1
不用sort
class Solution:
def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
len1 = m-1
len2 = n-1
len3 = m+n-1
while len2 >= 0 :
if len1 >= 0:
if nums2[len2] > nums1[len1]:
nums1[len3] = nums2[len2]
len2 -= 1
len3 -= 1
else:
nums1[len3] = nums1[len1]
len1 -= 1
len3 -= 1
else:
nums1[len3] = nums2[len2]
len3 -= 1
len2 -= 1
66. 加一
从后向前
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
for i in range(len(digits)-1, -1, -1):
digits[i] += 1
if digits[i] < 10:
return digits
else:
digits[i] = 0
return [1] + digits #[9,9,9]情况