如题,C# codes 如下:
public static string[] GetBiggestString(string str1, string str2)
{
var max=0;
var count = 0;
ArrayList container = new ArrayList();
for (int i = 0; i < str2.Length; i++)
{
//Reset count
if (count != 0)
{
count = 0;
}
for (int j = 0; j < str1.Length; j++)
{
if (i + count < str2.Length)
{
if (str1[j] == str2[i + count])
{
count++;
if (count > max)
{
//Clear arrayList
container.Clear();
max = count;
//To judge if the string has already been in arraylist
if (!container.Contains(str2.Substring(i, count)))
{
container.Add(str2.Substring(i, count));
}
}
else if (count == max)
{
//To judge if the string has already been in arraylist
if (!container.Contains(str2.Substring(i, count)))
{
container.Add(str2.Substring(i, count));
}
}
}
else
{
//Go back
j -= count;
//Reset count
count = 0;
}
}
}
}