Siguiente número mayor

Devuelve el número más pequeño mayor que la entrada que se pueda formar usando exactamente los mismos dígitos.

Ejemplos

nextNumber(19) ➞ 91

nextNumber(3542) ➞ 4235

nextNumber(5432) ➞ 5432

nextNumber(58943) ➞ 59348

Notas

  • Si no se puede formar un número mayor, devuelve el número original.
  • Bono: Comprueba si puedes hacerlo sin generar todas las permutaciones de dígitos.