Skip to content

Commit 31d08ab

Browse files
authored
Merge pull request vJechsmayr#148 from rajneeshkumar146/master
Restore IP-Addresses vJechsmayr#136
2 parents d4d1303 + 3d73e37 commit 31d08ab

2 files changed

Lines changed: 34 additions & 2 deletions

File tree

‎Backtracking/Algorithms_ToDo.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
+ Generate Parentheses [LeetCode #22](https://leetcode.com/problems/generate-parentheses/)
77
+ Combination Sum [LeetCode #39](https://leetcode.com/problems/combination-sum/)
88
+ Wildcard Matching [LeetCode #44](https://leetcode.com/problems/wildcard-matching/)
9-
+ N-Queens [LeetCode #51](https://leetcode.com/problems/n-queens/)
10-
+ Restore IP Addresses [LeetCode #93](https://leetcode.com/problems/restore-ip-addresses/)
9+
+ N-Queens [LeetCode #51](https://leetcode.com/problems/n-queens/)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
var restoreIpAddresses = function(ques) {
2+
3+
if (ques.length > 12 || ques.length < 4) return [];
4+
const result = [];
5+
restoreIpAddresses_(ques, [], result);
6+
return result;
7+
8+
};
9+
10+
const restoreIpAddresses_ = (ques, recAns, result) => {
11+
12+
if (recAns.length === 4 && !ques.length) {
13+
result.push(Array.from(recAns).join('.'));
14+
return;
15+
}
16+
17+
for (let i = 1; i < 4; i++) {
18+
19+
if(ques.length < i) continue;
20+
21+
const str = ques.slice(0,i);
22+
if ((str.length > 1 && str[0] === '0') || Number(str) > 255) continue;
23+
24+
recAns.push(str);
25+
restoreIpAddresses_(ques.slice(i), recAns, result);
26+
recAns.pop();
27+
28+
}
29+
}
30+
31+
//test Input.
32+
var ans=restoreIpAddresses("25525511135");
33+
console.log(ans);

0 commit comments

Comments
 (0)