Próximo número maior

Retorne o menor número maior que a entrada que possa ser formado usando exatamente os mesmos dígitos.

Exemplos

nextNumber(19) ➞ 91

nextNumber(3542) ➞ 4235

nextNumber(5432) ➞ 5432

nextNumber(58943) ➞ 59348

Observações

  • Se nenhum número maior puder ser formado, retorne o próprio número.
  • Bônus: Veja se consegue fazer isso sem gerar todas as permutações dos dígitos.