在鏈表插入元素時保證鏈表的有序性.通過二分法來定位待插入元素的位置
public void addNum(int num) {
if(list.size()==0){
list.add(num);
return;
}
int l = 0;
int r = list.size()-1;
while(l<r){
int mid = l+(r-l)/2;
if(list.get(mid)>num)r=mid-1;
else l = mid +1;
}
if(r>=0&&list.get(r)<num){
list.add(r+1,num);
return;
}
if(r>=0&&l<=list.size()-1&&num<list.get(r)&&num>list.get(l)){
list.add(l+1,num);
return;
}
list.add(l,num);
}