2017年9月8日京东“地图数据融合”大题1

给定字符串s,请计算输出含有连续两个s作为字串的最短字符串。注意两个s可能有重叠部分。例如:输入:abracadabra输出:abracadabracadabra
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace JD1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1;
            while (true)
            {
                str1 = Console.ReadLine();
                if(str1.Length>=1&&str1.Length<=50)
                {
                    if (System.Text.RegularExpressions.Regex.IsMatch(str1, "[A-Z]"))
                    {
                        str1 = str1.ToLower();
                        break;
                    }
                    break;
                }
                else
                {
                    Console.WriteLine("请输入长度在1和50之间的字符串!");
                }
            }
            string frontStr = "";
            string endStr = "";
            for (int i = 1; i < str1.Length;i++ )
            {
                string tempStr1 = str1.Substring(0,i);
                string tempStr2 = str1.Substring(i);
                if (tempStr1.Length > tempStr2.Length)
                {
                    if(tempStr1.Contains(tempStr2))
                    {
                        string tempChar1 = tempStr1.Substring(0,tempStr2.Length);
                        string tempChar2 = tempStr2;
                        if (tempChar1.Equals(tempChar2))
                        {
                            endStr=tempStr2;
                            frontStr = tempStr1;
                            break;
                        }
                        else
                            continue;
                    }
                }
                else
                {
                    if(tempStr2.Contains(tempStr1))
                    {
                        string tempChar1 = tempStr2.Substring(0, tempStr1.Length);
                        string tempChar2 = tempStr1;
                        if (tempChar1.Equals(tempChar2))
                        {
                            endStr = tempStr1;
                            frontStr = tempStr2;
                            break;
                        }
                        else
                            continue;
                    }
                }
            }
            Console.WriteLine(frontStr+frontStr+endStr);
        }

    }
}


#京东#
全部评论

相关推荐

玉无心❤️:发照片干啥 发简历啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务