两字符串中的最大公共字符串的个数及公共字符串

  class Program
    {
        static void Main(string[] args)
        {
            string str1 = "sodjfuckjjs1234dfa";
            string str2 = "sdjfcucknnd12345";
            string targetstr = string.Empty;
            string shortstr = str1.Length > str2.Length ? str2 : str1;//找出最短的
            string longstr = shortstr.Equals(str1) ? str2 : str1;

            for (int subindex = shortstr.Length; subindex > 0; subindex--)
            {
                for (int i = 0; (i + subindex) <= shortstr.Length; i++)
                {
                    string substr = shortstr.Substring(i, subindex);
                    if (longstr.IndexOf(substr) >= 0)
                    {
                        targetstr = substr;
                        Console.WriteLine(targetstr);
                        //break;
                    }
                }
                if (!string.IsNullOrWhiteSpace(targetstr))//找到满足条件 跳出循环
                    break;
            }
            Console.ReadKey();
        }
    }
原文地址:https://www.cnblogs.com/smailxiaobai/p/2949672.html