我刚来这地方。我正在 Leetcode 上尝试关于最长公共前缀的 C# 问题。我知道这个问题已经解决了很多次。我只是很难理解为什么我的代码在某些条件下不起作用。当输入 ["flower","flow","flight"] 被输入时,它工作得很好并得到输出 "fl"。但是,当我输入 ["ab", "a"] 时,我突然得到一个 IndexOutOfRangeException。有谁知道为什么?这是我的代码:
public class Solution {
public string LongestCommonPrefix(string[] strs) {
StringBuilder sb = new StringBuilder();
int h = 1;
int count = 0;
if (strs.Length == 1){
return strs[0];
}
for (int i = 0; i<strs[0].Length; i++)
{
if ((strs[0])[i].Equals((strs[h])[i])){
count++;
if (h<strs.Length-1){
h++;
}
}
}
for (int j = 0; j < count; j++)
{
sb.Append((strs[0])[j]);
}
return sb.ToString();
}
}