gpt4 book ai didi

c# - C# 中的 LINQ SequenceEquals 扩展问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:58 26 4
gpt4 key购买 nike

我正在尝试使用以下逻辑检查字符串是否为回文的可能性

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Anagram solver");
Console.WriteLine(IsPalindrome("HIMA", "AMHI").ToString());
Console.ReadKey();
}

static bool IsPalindrome(string s1, string s2)
{
return s1.OrderBy(c => c).SequenceEqual(s2.OrderBy(c => c));
}
}

我的想法是获取字符串中的字符字面量,然后与另一个字符串中的字符字面量进行比较,以推断出可能的回文。 LINQ SequenceEqual 方法可以实现这样的事情吗?

从上面的例子来看,

'H' shall be compared with 'A'  (default equality comparison)  
'I' shall be compared with 'M'
'M' shall be compared with 'H'
'A' shall be compared with 'I'

谁能在这里指导我。

感谢和欢呼斯里瓦察

最佳答案

如果你想要回文那么你不应该对它们进行排序,只需反转并匹配 -

static bool IsPalindrome(string s1, string s2)
{
return s1.SequenceEqual(s2.Reverse());
}

对于不区分大小写的尝试 -

static bool IsPalindrome(string s1, string s2)
{
return s1.ToLower().SequenceEqual(s2.ToLower().Reverse());
}

关于c# - C# 中的 LINQ SequenceEquals 扩展问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25663473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com