Напиши преобразование целого числа в десятичную строку: 123 → "123".
Готовые функции преобразования использовать нельзя.
func Itoa(n int) string
Требования
- Результат совпадает с
strconv.Itoa(n) для любого int: ноль, отрицательные,
math.MaxInt, math.MinInt.
- Решение не импортирует
strconv, fmt, strings и bytes. strings.Builder
тоже под запретом.
- Строка собирается за O(число цифр), без конкатенации в цикле.
Пример
Itoa(0) // "0"
Itoa(-45) // "-45"
Itoa(1000) // "1000"
// ItoaBase переводит n в систему счисления base (2..36), цифры 0-9a-z.
// При base вне диапазона — panic.
func ItoaBase(n int, base int) string
- Совпадает с
strconv.FormatInt(int64(n), base).
Устно: как бы ты это протестировал, если fmt нельзя использовать в коде, но
можно в тестах?
Разбор и эталонное решение — после своей попытки: на собеседовании подсказок не будет.
Сначала попробуй сам — подсказки не дают готовый ответ.