求字符串数组中所有数组的最长公共前缀,代码很简单,但是要很注重细节,
边界值输入要特别注意,比如:
[] 输入空的字符串数组,要判断
if
(
strs
.size() == 0)
return
""
;
[“”]字符串数组里面只有一个空字符串的情况等等。
AC 代码:
string longestCommonPrefix(vector <string> & strs) {
if (strs .size() == 0) return "";
string result;
int i, j; // i表示第i个字符串,j表示字符串的第j个字符
for (j = 0; ; j++){
for (i = 0; i<strs .size(); i++){
if (j >= strs [i].length() || strs[i][j] != strs[0][j])
break;
}
if (i<strs .size()) break;
result += strs[0][j];
}
return result;
}