How to make two strings anagram by removing characters in PHP

1 Answer

0 votes
function RemoveCharactersNeedToBeRemovedForAnagram(&$str1, &$str2) {
    $TotalABCLetters = 26;
    $count1 = array_fill(0,$TotalABCLetters,0);        
    $count2 = array_fill(0,$TotalABCLetters,0);
    $size1 = strlen($str1);
    $size2 = strlen($str2);
         
    // count char frequency str1
    for ($i = 0; $i < $size1; $i++) {
        $count1[ord($str1[$i]) - ord('a')]++;
    }
         
    // count char frequency str2
    for ($i = 0; $i < $size2; $i++) {
        $count2[ord($str2[$i]) - ord('a')]++;
    }
         
    for ($i = 0; $i < $TotalABCLetters; $i++) {
        if (abs($count1[$i] - $count2[$i]) != 0) {
            $str1 = str_replace(chr($i + 97), '', $str1); // 'a' = 97 ascii code
            $str2 = str_replace(chr($i + 97), '', $str2);
        }
    }
}
         
$str1 = "masterfx";
$str2 = "ksampret";
 
RemoveCharactersNeedToBeRemovedForAnagram($str1, $str2);

echo $str1 . "\n";
echo $str2 . "\n";
 
 
 
 
/*
run:
 
master
samret
 
*/

 



answered Oct 1, 2022 by avibootz

Related questions

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