How to make two strings anagram by removing characters in VB.NET

1 Answer

0 votes
Imports System

Public Class Anagram
    Friend str1 As String
    Friend str2 As String

    Public Sub New()
	End Sub

	Public Sub New(ByVal s1 As String, ByVal s2 As String)
        Me.str1 = s1
        Me.str2 = s2
    End Sub

    Public Overridable Sub RemoveCharactersNeedToBeRemovedForAnagram()
        Dim TotalABCLetters As Integer = 26
        Dim count1 As Integer() = New Integer(TotalABCLetters - 1) {}
        Dim count2 As Integer() = New Integer(TotalABCLetters - 1) {}
        Dim size1 As Integer = str1.Length
        Dim size2 As Integer = str2.Length

        For i As Integer = 0 To size1 - 1
            count1(Convert.ToInt32(str1(i)) - 97) += 1 ' "a"c = 97 ASCII
        Next
 
        For i As Integer = 0 To size2 - 1
            count2(Convert.ToInt32(str2(i)) - Convert.ToByte("a"c)) += 1
       	Next

        For i As Integer = 0 To TotalABCLetters - 1
            If Math.Abs(count1(i) - count2(i)) <> 0 Then
                str1 = str1.Replace(Convert.ToString(Char.ConvertFromUtf32((i + 97))), String.Empty)
                str2 = str2.Replace(Convert.ToString(Char.ConvertFromUtf32((i + 97))), String.Empty)
            End If
        Next
    End Sub

    Public Overridable Sub Print()
        Console.WriteLine(str1)
        Console.WriteLine(str2)
    End Sub

    Public Shared Sub Main(ByVal args As String())
		Dim obj As New Anagram("masterfx", "ksampret")

        obj.RemoveCharactersNeedToBeRemovedForAnagram()

        obj.Print()
    End Sub
End Class



' run:
'
' master
' samret
'

 



answered Sep 30, 2022 by avibootz

Related questions

1 answer 118 views
1 answer 147 views
1 answer 120 views
1 answer 131 views
1 answer 164 views
...