检查字符串中的重复字符

Check for repeated character in a string

检查输入字符串是否包含至少一个连续出现两次的字母,例如:

xx,
abcdde (dd),
aabbccdd(aa、bb、cc 或 dd),
ugknbfddgicrmopn(双 dd)。

以下方法无效

input.Distinct().Count();

因为它 return 对于 awea 是正确的(重复 a)。我只需要连续检查重复字符即可。

如果您的字符串包含任何多个字符,这将 return 为真:

input.Distinct().Count() != input.Length;

您需要检查输入字符串的当前和下一个字符索引。请参阅下面的示例代码。

        static void Main(string[] args)
    {
        var input = Console.ReadLine();
        var result = HasRepeatedCharacters(input);
        Console.WriteLine(result);
        Console.ReadLine();
    }

    public static bool HasRepeatedCharacters(string input)
    {
        bool hasRepeatedCharacters = false;

        if(input.Length >= 2)
        {
            for (var index = 0; index < input.Length - 1; index++)
            {
                if(input[index] == input[index + 1])
                {
                    hasRepeatedCharacters = true;
                }
            }
        }
        return hasRepeatedCharacters;
    }