查找左子串等于右子串

发布于 2024-11-07 09:45:38 字数 184 浏览 1 评论 0原文

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

例如,给定一个字符串

racecar

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

Write a function which given a string S returns the index (counting from 0) of character such that the substring on its left is a reversed susbstring on its right (or -1 if such an index does not exist).

For example, given a string

racecar

Function should return 3, because the substring on the left of the character e at index 3 is rac, and the one on the right is car.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱情眠于流年 2024-11-14 09:45:38

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

get the length/2 and verify lengths first and then if the lengths are same then reverse the first half and compare with the second.

再可℃爱ぅ一点好了 2024-11-14 09:45:38

示例函数:

    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;
    }

Example function:

    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;
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文