检查字符串的两个部分在 c # 中是否有相同的字符集

首先,设置要检查的字符串。

string s = "timetime";

现在为字符串的两半设置两个计数器。

int []one = new int[MAX_CHAR];

int []two = new int[MAX_CHAR];

检查字符串的两半。

for (int i = 0, j = l - 1; i < j; i++, j--) {

   one[str[i] - 'a']++;

   two[str[j] - 'a']++;

}

以下是检查C#中字符串的两半是否具有相同字符集的完整代码。

示例

using System;

class Demo {

   static int MAX_CHAR = 26;

   static bool findSameCharacters(string str) {

      int []one = new int[MAX_CHAR];

      int []two = new int[MAX_CHAR];

      int l = str.Length;

      if (l == 1)

      return true;

      for (int i = 0, j = l - 1; i < j; i++, j--) {

         one[str[i] - 'a']++;

         two[str[j] - 'a']++;

      }

      for (int i = 0; i < MAX_CHAR; i++)

      if (one[i] != two[i])

      return false;

      return true;

   }

   public static void Main() {

      string str = "timetime";

      if (findSameCharacters(str))

      Console.Write("Yes: Two halves are same!");

      else

      Console.Write("No! Two halves are not same!");

   }

}

输出结果

Yes: Two halves are same!

以上是 检查字符串的两个部分在 c # 中是否有相同的字符集 的全部内容, 来源链接: utcz.com/z/347391.html

回到顶部