1.问题描述:
合并两个排序的整数数组A和B变成一个新的数组。
2.样例:
给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]。
3.代码:
对于这种题目,常常我们需要分情况讨论:
1)当A或B中有一个数组位空时,则直接返回另外一个数组
2)对A和B中的元素顺次进行判断和比较,在a和b中记录A和B中的index下标
3)当某个数组的元素已经全部添加到新数组中时候,则将另外一个数组中的元素再加到新数组中
class Solution:
"""
@param: A: sorted integer array A
@param: B: sorted integer array B
@return: A new sorted integer array
"""
def mergeSortedArray(self, A, B):
# write your code here
if A is None:
return B
if B is None:
return A
l=[]
a=0
b=0
alength=len(A)
blength=len(B)
while a<alength and b<blength:
if A[a]<=B[b]:
l.append(A[a])
a+=1
else:
l.append(B[b])
b+=1
if a!=alength:
for i in range(a,alength):
l.append(A[i])
if b!=blength:
for i in range(b,blength):
l.append(B[i])
return l