您的位置:首页 > 职场人生

在有序但含有空的数组中查找字符串

2016-12-15 10:08 302 查看
public int findString(String[] str, int n, String x) {
int left = 0,right=n;
while (true) {
if(right - left <= 0){
break;
}
int mid = (left + right) / 2;
if (str[mid].equals(x)) {
return mid;
} else {
if (str[mid] == "") {
for(int i=mid-1;i>=0;i--){
if(str[i].equals("")){
continue;
} else {
if(str[i].compareTo(x) > 0){
right = i;
continue;
} else {
if(str[i].compareTo(x)<0){
left = mid+1;
continue;} else {
return i;
}
}
}
}
} else {
if (str[mid].compareTo(x) > 0) {
right = mid;
continue;
} else {
left = mid + 1;
continue;
}
}
}
}
return -1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息