找到左子串等于右子串

时间:2011-05-16 16:50:39

标签: substring

写一个给定字符串的函数S返回字符的索引(从0开始计数),使得左边的子字符串在其右边是一个反向的字符串(如果这样的索引不存在,则为-1)。

例如,给定一个字符串

赛车

函数应该返回3,因为索引3处字符e左边的子字符串是rac,而右边的子字符串是car。

2 个答案:

答案 0 :(得分:1)

获取长度/ 2并首先验证长度,然后如果长度相同则反转前半部分并与第二部分进行比较。

答案 1 :(得分:1)

示例功能:

    private int TestMethod1(string str)
    {
        if (str.Length > 0)
        {
            if (str.Length % 2 != 0)
            {
                string strFront = string.Empty;
                for (int i = (str.Length / 2) - 1; i >= 0; i--)
                {
                    strFront += str.Substring(i, 1);
                }

                if (strFront.Equals(str.Substring((str.Length / 2) + 1)))
                {
                    return str.Length / 2;
                }
            }
        }
        return -1;
    }