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,895 questions

51,826 answers

573 users

How to make two strings anagram by removing characters in C#

1 Answer

0 votes
using System;

public class MyClass
{
	internal string str1;
	internal string str2;

	public MyClass(string s1, string s2) {
		this.str1 = s1;
		this.str2 = s2;
	}
	public virtual void RemoveCharactersNeedToBeRemovedForAnagram() {
		int TotalABCLetters = 26;

		int[] count1 = new int[TotalABCLetters];
		int[] count2 = new int[TotalABCLetters];

		int size1 = str1.Length;
		int size2 = str2.Length;

		// count char frequency str1
		for (int i = 0; i < size1; i++) {
			count1[str1[i] - 'a']++;
		}

		// count char frequency str2
		for (int i = 0; i < size2; i++) {
			count2[str2[i] - 'a']++;
		}

		for (int i = 0; i < TotalABCLetters; i++) {
			if (Math.Abs(count1[i] - count2[i]) != 0) {
				str1 = str1.Replace(Convert.ToString((char)(i + 'a')), String.Empty);
				str2 = str2.Replace(Convert.ToString((char)(i + 'a')), String.Empty);
			}
		}
	}
	public virtual void Print() {
		Console.WriteLine(str1);
		Console.WriteLine(str2);
	}

	public static void Main(string[] args)
	{
		MyClass obj = new MyClass("masterfx", "ksampret");

		obj.RemoveCharactersNeedToBeRemovedForAnagram();

		obj.Print();
	}
}





/*
run:
    
master
samret
    
*/

 



answered Sep 30, 2022 by avibootz

Related questions

1 answer 102 views
1 answer 126 views
1 answer 129 views
1 answer 104 views
1 answer 145 views
...