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

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,707 questions

55,467 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

...