4109. Распознавание телефонного номера (нормализация)
Easy
4 решили
Дана строка
• ровно 10 цифр →
• ровно 11 цифр и первая из них 1 →
• иначе →
Десять цифр, даже если начинаются с 1, — это десятизначный формат, а не код страны:
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
допускаются цифры, пробел, '-', '(', ')', '+'
Решите эту задачу в браузере
Создайте бесплатный аккаунт — редактор Python, Java, JavaScript и Go, проверка на тестах за секунды.
Комментарии (0)
Зарегистрируйтесь или войдите, чтобы оставить комментарий
Пока нет комментариев. Будьте первым!