Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,844 questions

51,765 answers

573 users

How to check if a string can be rearranged as palindrome in C#

1 Answer

0 votes
using System;
 
public class Program
{
    private static bool CanStringBeRearrangedAsPalindrome(string str) {
        int[] ascii_count = new int[256];
 
        for (int i = 0; i < str.Length; i++) {
            ascii_count[str[i]]++;
        }
 
        int odd = 0;
        
        for (int i = 0; i < 256; i++) {
            if ((ascii_count[i] & 1) != 0) {
                odd++;
            }
            
            if (odd > 1) return false;
        }
 
        return true;
    }
    public static void Main(string[] args)
    {
        const string str = "abcdacdb";
 
        string result = CanStringBeRearrangedAsPalindrome(str) ? "Yes" : "No";
        Console.WriteLine(result);
 
        result = CanStringBeRearrangedAsPalindrome("abcca") ? "Yes" : "No";
        Console.WriteLine(result);
 
        result = CanStringBeRearrangedAsPalindrome("abcb") ? "Yes" : "No";
        Console.WriteLine(result);
    }
}
 
 
 
 
 
 
/*
run:
   
Yes
Yes
No
   
*/

 



answered Sep 8, 2022 by avibootz
edited Sep 8, 2022 by avibootz

Related questions

...