检查字符串中的重复字符
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;
}
检查输入字符串是否包含至少一个连续出现两次的字母,例如:
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;
}