diff --git a/.vscode/settings.json b/.vscode/settings.json index 7e11d96..ea6a377 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,10 +2,13 @@ "cSpell.words": [ "Gitpod", "LVIII", + "Paddr", "Prinme", "abcdefg", "cdefgab", "chuan", + "defang", + "defanging", "dvdf", "lcci", "lcof", diff --git a/README.md b/README.md index 8839860..1894e0b 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,10 @@ LeetCode 与 LintCode 解题记录。此为个人练习仓库,代码中对重 - LeetCode 680. 验证回文字符串 Ⅱ - LintCode 891. 有效回文 II +- [IP地址无效化](src/string/defanging-an-ip-address.js) + + - LeetCode 1108. IP 地址无效化 + ## 数组/队列/集合/映射 - [电话号码的字母组合](src/array/letter-combinations-of-a-phone-number.js) diff --git a/src/string/defanging-an-ip-address.js b/src/string/defanging-an-ip-address.js new file mode 100644 index 0000000..75898d9 --- /dev/null +++ b/src/string/defanging-an-ip-address.js @@ -0,0 +1,7 @@ +/** + * @param {string} address + * @return {string} + */ +export const defangIPaddr = function (address) { + return address.replace(/\./g, '[.]') +} diff --git a/test/string/defanging-an-ip-address.test.js b/test/string/defanging-an-ip-address.test.js new file mode 100644 index 0000000..a3f7a61 --- /dev/null +++ b/test/string/defanging-an-ip-address.test.js @@ -0,0 +1,6 @@ +import { defangIPaddr } from '../../src/string/defanging-an-ip-address' + +test('IP地址无效化', () => { + expect(defangIPaddr('1.1.1.1')).toBe('1[.]1[.]1[.]1') + expect(defangIPaddr('255.100.50.0')).toBe('255[.]100[.]50[.]0') +})