|
6 | 6 | * - https://www.cs.columbia.edu/~sedwards/classes/2021/4995-fall/proposals/Palindrome.pdf
|
7 | 7 | */
|
8 | 8 |
|
9 |
| -// class PalindromePartitioning { |
10 |
| -// partition(s) { |
11 |
| -// const result = [] |
12 |
| -// this.backtrack(s, [], result) |
13 |
| -// return result |
14 |
| -// } |
15 |
| - |
16 |
| -// backtrack(s, path, result) { |
17 |
| -// if (s.length === 0) { |
18 |
| -// result.push([...path]) |
19 |
| -// return |
20 |
| -// } |
21 |
| - |
22 |
| -// for (let i = 0; i < s.length; i++) { |
23 |
| -// const prefix = s.substring(0, i + 1) |
24 |
| -// if (this.isPalindrome(prefix)) { |
25 |
| -// path.push(prefix) |
26 |
| -// this.backtrack(s.substring(i + 1), path, result) |
27 |
| -// path.pop() |
28 |
| -// } |
29 |
| -// } |
30 |
| -// } |
31 |
| - |
32 |
| -// isPalindrome(s) { |
33 |
| -// let start = 0 |
34 |
| -// let end = s.length - 1 |
35 |
| -// while (start < end) { |
36 |
| -// if (s.charAt(start) !== s.charAt(end)) { |
37 |
| -// return false |
38 |
| -// } |
39 |
| -// start++ |
40 |
| -// end-- |
41 |
| -// } |
42 |
| -// return true |
43 |
| -// } |
44 |
| -// } |
45 |
| - |
46 |
| -// export default PalindromePartitioning |
47 |
| - |
48 |
| -// use a function instead of class and reuse existing palindrome function not isPalindrome function |
49 |
| - |
50 | 9 | import{palindrome}from'./Palindrome'
|
51 | 10 |
|
52 | 11 | constpartitionPalindrome=(s)=>{
|
|