4月9日下午去神州数码面试算法答案----求字符串最大公串

来源:互联网 发布:软件项目验收管理制度 编辑:程序博客网 时间:2024/05/17 08:39

4月9日下午去神州数码面试 写一个算法题目写错一个条件

现将自己写的正确代码附上 比网上找的那个好理解点

题目是求两字符串最大公串(无聊的题目,从网上找的,而且题目和网上题目一个字不差)

         private string ComS(string str1, string str2)
         {
             string str1t = "";
             string str2t = "";
             string tmp1 = "";
             string tmp2 = "";
             string rstr = "";
             int x = 0;
             if (str1.Length < str2.Length)
             {
                 str1t = str1;
                 str2t = str2;
             }

             else
             {
                 str2t = str1;
                 str1t = str2;
             }
             for (int i = 0; i <= str1t.Length - 1; i++)
             {
                 for (int j = 1; j <= str1t.Length-i; j++)
                 {
                         tmp1 = str1t.Substring(i, j);
                         for (int k = 0; k <= str2t.Length - 1; k++)
                         {
                            if (j <= str2t.Length - k)
                             {
                                 tmp2 = str2t.Substring(k, j);
                             }
                             else
                             {
                                 tmp2 = "";
                             }

                             if (tmp1 == tmp2)
                             {
                                 if (x < tmp1.Length)
                                 {
                                     rstr = tmp1;
                                     x = rstr.Length;
                                 }
                                 else
                                     continue;
                             }
                         }
                 }
             }
             return rstr;
         }

 
原创粉丝点击