Troca dupla de caracteres

Crie uma função que troque cada ocorrência de dois caracteres em uma string: cada ocorrência de first se torna second, e cada ocorrência de second se torna first. Os outros caracteres permanecem inalterados.

Exemplos

Program.DoubleSwap("aabbccc", 'a', 'b') ➞ "bbaaccc"
Program.DoubleSwap("random w#rds writt&n h&r&", '#', '&') ➞ "random w&rds writt#n h#r#"
Program.DoubleSwap("128 895 556 788 999", '8', '9') ➞ "129 985 556 799 888"

Observações

  • first e second são caracteres ASCII distintos.
  • Ambos os caracteres aparecem pelo menos uma vez na entrada.