ank*_*kur 17 c# string palindrome
我有一个字符串作为输入,必须打破两个子串中的字符串.如果左子串等于右子串,则执行一些逻辑.
我怎样才能做到这一点?
样品:
public bool getStatus(string myString)
{
}
Run Code Online (Sandbox Code Playgroud)
示例:myString = "ankYkna"
,所以如果我们将它分成两个子串,它将是:
left-part = "ank"
,
right-part = "ank"
(反转后).
Bal*_*nyi 69
纯娱乐:
return myString.SequenceEqual(myString.Reverse());
Run Code Online (Sandbox Code Playgroud)
ion*_*den 22
public static bool getStatus(string myString)
{
string first = myString.Substring(0, myString.Length / 2);
char[] arr = myString.ToCharArray();
Array.Reverse(arr);
string temp = new string(arr);
string second = temp.Substring(0, temp.Length / 2);
return first.Equals(second);
}
Run Code Online (Sandbox Code Playgroud)
Bal*_*nyi 15
int length = myString.Length;
for (int i = 0; i < length / 2; i++)
{
if (myString[i] != myString[length - i - 1])
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud)
Adr*_*ode 12
使用LINQ并且远离最佳解决方案
var original = "ankYkna";
var reversed = new string(original.Reverse().ToArray());
var palindrom = original == reversed;
Run Code Online (Sandbox Code Playgroud)
一行代码使用 Linq
public static bool IsPalindrome(string str)
{
return str.SequenceEqual(str.Reverse());
}
Run Code Online (Sandbox Code Playgroud)
public static bool IsPalindrome(string value)
{
int i = 0;
int j = value.Length - 1;
while (true)
{
if (i > j)
{
return true;
}
char a = value[i];
char b = value[j];
if (char.ToLower(a) != char.ToLower(b))
{
return false;
}
i++;
j--;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
111211 次 |
最近记录: |