📌  相关文章
📜  C#程序检查字符串是否相互旋转(1)

📅  最后修改于: 2023-12-03 15:13:53.710000             🧑  作者: Mango

C#程序检查字符串是否相互旋转

在编程中,有时候需要判断两个字符串是否是相互旋转得到的。例如,"ABC" 和 "CAB" 就是相互旋转的字符串。在本文中,我们将介绍如何使用C#编写一个程序来检查两个字符串是否相互旋转。

实现思路

我们可以通过判断旋转后的字符串是否包含另一个字符串来判断它们是否相互旋转。具体的实现步骤如下:

  1. 首先,判断两个字符串的长度是否相等,如果不相等,则它们不可能是相互旋转的字符串。
  2. 然后,将第一个字符串连接自身,形成一个新的字符串。
  3. 接着,判断新的字符串是否包含第二个字符串,如果包含,则它们是相互旋转的字符串;否则,它们不是相互旋转的字符串。
代码实现

下面是使用C#实现上述思路的代码片段:

public static bool AreStringsRotations(string str1, string str2)
{
    if (str1.Length != str2.Length)
    {
        return false;
    }

    string concatenatedStr = str1 + str1;

    if (concatenatedStr.Contains(str2))
    {
        return true;
    }

    return false;
}

在上述代码中,我们定义了一个静态方法 AreStringsRotations 来判断两个字符串是否相互旋转。该方法接受两个字符串作为参数,并返回一个布尔值。

使用示例

下面是一个使用示例:

string str1 = "ABC";
string str2 = "CAB";

if (AreStringsRotations(str1, str2))
{
    Console.WriteLine("字符串是相互旋转的。");
}
else
{
    Console.WriteLine("字符串不是相互旋转的。");
}

运行上述代码,将输出 字符串是相互旋转的。

总结

通过本文,我们学习了如何使用C#编写一个程序来检查两个字符串是否相互旋转。这种方法简单高效,适用于大多数情况下。希望本文对你理解和掌握这个问题有所帮助。