一:题目
二:上码
class Solution {
List<List<String>> ans = new ArrayList<>();
List<String> path = new ArrayList<>();
public boolean judge(String str,int st,int end) {
for (int i = st,j = end; i < j; i++,j--) {
if (str.charAt(i) != str.charAt(j)) return false;
}
return true;
}
public void getAns(String str,int st) {
if (st >= str.length()) {
ans.add(new ArrayList<>(path));
return;
}
for (int i = st; i < str.length(); i++) {
if (judge(str,st,i)) {
String s = str.substring(st,i+1);
path.add(s);
} else {
continue;
}
getAns(str,i+1);
path.remove(path.size()-1);
}
}
public List<List<String>> partition(String s) {
getAns(s,0);
return ans;
}
}