剑指 Offer II 087. 复原 IP
- "0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,
- 但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导
0),整数之间用 '.' 分隔。
function restoreIpAddresses(s) {
if (s.length > 12 || s.length < 4) return [];
var res = [];
var arr = [];
f(0);
return res;
function f(j) {
if (arr.length > 4) return;
if (j === s.length && arr.length >= 4) {
return res.push(arr.join("."));
}
var str = "";
for (var i = j; i < s.length; i++) {
str = str + s[i];
if (
Number(str) >= 0 &&
Number(str) <= 255 &&
(str[0] !== "0" || str === "0")
) {
arr.push(str);
f(i + 1);
arr.pop();
}
}
}
}