字符串
Write a function to find the longest common prefix string amongst an array of strings.
找出一个字符串数组中所有字符串的最长共同==前缀==。
==indexOf()的用法==:返回字符中indexof(string)中字串string在父串中首次出现的位置,没有返回-1;
==lastIndexOf()的用法:==返回字符串中target的最后一次出现位置
效率:11%
class Solution {
public String longestCommonPrefix(String[] strs) {
int len = strs.length;
if (len == 0) return "";
String prefix = strs[0];
if (len == 1) return prefix;
for(int i = 1; i < len; i++){
String cur = strs[i];
int prefixLen = prefix.length();
int curLen = cur.length();
boolean changed = false;
for (int j = 0; j < Math.min(prefixLen, curLen); j++) {
if (prefix.charAt(j) != cur.charAt(j)) {
prefix = prefix.substring(0, j);
changed = true;
break;
}
}
prefix = (!changed &&curLen < prefixLen) ? cur : prefix;
}
return prefix;
}
}
效率:80%
class Solution {
//方法二:indexOf
public String longestCommonPrefix(String[] strs) {
int len = strs.length;
if (len == 0) return "";
String prefix = strs[0];
if (len == 1) return prefix;
for (String str : strs) {
while (str.indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
}
}
return prefix;
}
}