CShap 字符串是否为pallindrome排列 源代码
时间: 2024-04-30 15:23:43 浏览: 149
以下是C#程序代码,用于检查给定字符串是否为回文排列:
```
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
string str = "racecar";
bool isPalindromePermutation = IsPalindromePermutation(str);
Console.WriteLine(isPalindromePermutation);
}
public static bool IsPalindromePermutation(string str)
{
Dictionary<char, int> charCount = new Dictionary<char, int>();
foreach (char c in str)
{
if (c != ' ')
{
if (charCount.ContainsKey(c))
{
charCount[c]++;
}
else
{
charCount[c] = 1;
}
}
}
int oddCount = 0;
foreach (int count in charCount.Values)
{
if (count % 2 != 0)
{
oddCount++;
}
if (oddCount > 1)
{
return false;
}
}
return true;
}
}
```
该程序使用一个字典来计算字符串中每个字符的出现次数。如果字符串是回文排列,则只能有一个或零个字符的出现次数为奇数。如果字符串不是回文排列,则有两个或更多字符的出现次数为奇数。
阅读全文