File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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/ )
Original file line number Diff line number Diff line change 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 ) ;
You can’t perform that action at this time.
0 commit comments