https://leetcode.com/problems/palindrome-partitioning/
做完longest palindromic substring之后
http://ftalm.blogspot.com/2015/10/leetcode-longest-palindromic-substring.html
这题 明朗了很多 就是和longest palindromic substring(建所有substring 是否palindrom的table+DFS)
做完longest palindromic substring之后
http://ftalm.blogspot.com/2015/10/leetcode-longest-palindromic-substring.html
这题 明朗了很多 就是和longest palindromic substring(建所有substring 是否palindrom的table+DFS)
public class Solution { List> result = new ArrayList
>(); boolean check[][]; List
temp = new ArrayList (); public List > partition(String s) { check = new boolean[s.length()][s.length()]; for (int i = 0; i < s.length(); i++){ check[i][i] = true; for (int j = 0; j < i; j++){ check[j][i] = s.charAt(j) == s.charAt(i) && (i-j==1 || check[j+1][i-1]); } } findSol(0, temp, s); return result; } private void findSol(int start, List
list, String str){ if (start == str.length()){ result.add(new ArrayList (list)); return; } for (int i = start; i < str.length(); i++){ if (check[start][i]){ list.add(str.substring(start, i+1)); findSol(i+1, list, str); list.remove(list.size()-1); } } } }
No comments:
Post a Comment