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 114 views
1 answer 139 views
1 answer 138 views
1 answer 122 views
1 answer 156 views
...