Перебор IP-адресов

средне

Дана строка s, состоящая только из цифр. Необходимо вернуть все возможные корректные IP-адреса, которые можно получить путём расстановки трёх точек. Возвращаемые IP-адреса могут быть в любом порядке.

IP-адрес состоит из четырёх чисел (октетов), разделённых точками. Каждый октет должен быть:

  • числом от 0 до 255
  • без ведущих нулей, кроме самого нуля (т.е. "0" — допустимо, "01" — нет)

Пример 1:

Ввод: s = "25525511135"
Вывод: ["255.255.11.135","255.255.111.35"]

Пример 2:

Ввод: s = "0000"
Вывод: ["0.0.0.0"]

Пример 3:

Ввод: s = "101023"
Вывод: ["1.0.10.23","1.0.102.3","10.1.0.23","10.10.2.3","101.0.2.3"]

Ограничения:

  • 1 ≤ len(s) ≤ 20
  • s состоит только из цифр ('0'–'9')