整合两个有序集合 时间复杂度最小为O(n)


 如果这两个集合是无序的 那么时间复杂度肯定就是O(n^2)

但是因为是有序的所以时间复杂度就可以为O(n)

直接上代码:

public static List sort(List list1 , List list2){
List list = new ArrayList();
int i = 0 , j = 0;
while(i < list1.size() && j < list2.size()){
if(list1.get(i) < list2.get(j)){
list.add(list1.get(i++));
}else{
list.add(list2.get(j++));
}
}
while(i < list1.size()){
list.add(list1.get(i++));
}
while(j < list2.size()){
list.add(list2.get(j++));
}
return list;
}