編寫函數找出字串陣列中的最長公共前綴。
minSize 及其索引 minIndex。minSize 遞減至 0,取最短字串前 i 字符作為候選 result。i 字符,若全部相等則返回 result。
public class Solution {
public string LongestCommonPrefix(string[] strs) {
int len = strs.Length;
if (len == 0) return "";
if (len == 1) return strs[0];
int minSize = int.MaxValue, minIndex = 0;
for (int i = 0; i < len; ++i)
if (strs[i].Length < minSize) { minSize = strs[i].Length; minIndex = i; }
for (int i = minSize; i >= 0; --i) {
string result = strs[minIndex].Substring(0, i);
int j = 0;
for (; j < len; ++j) {
if (j == minIndex) continue;
if (strs[j].Substring(0, i) != result) break;
}
if (j == len) return result;
}
return "";
}
}