4109. Распознавание телефонного номера (нормализация)

Easy 4 решили
Дана строка s (цифры, пробелы, дефисы, скобки, плюс). Оставьте только цифры и нормализуйте:
• ровно 10 цифр → XXX-XXX-XXXX;
• ровно 11 цифр и первая из них 1 → 1-XXX-XXX-XXXX;
• иначе → Invalid (в том числе 11 цифр не с единицы, 9 или 12 цифр, пустая строка).

Десять цифр, даже если начинаются с 1, — это десятизначный формат, а не код страны: 1234567890 → 123-456-7890, не 1-234-567-890.

Примеры:

Вход: (123) 456-7890
Выход: 123-456-7890
Объяснение: Десять цифр → XXX-XXX-XXXX.
Вход: 1 (123) 456-7890
Выход: 1-123-456-7890
Объяснение: Одиннадцать цифр с ведущей 1 → 1-XXX-XXX-XXXX.
Вход: 1234567890
Выход: 123-456-7890
Объяснение: Десять цифр без разделителей — тот же десятизначный формат.
Вход: 22345678901
Выход: Invalid
Объяснение: 11 цифр, но не с 1 — не телефон в этом формате.

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

0 <= s.length <= 5000 допускаются цифры, пробел, '-', '(', ')', '+'

Теги:

Строки

Комментарии (0)

Зарегистрируйтесь или войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!