class Solution {
public static boolean isPalindrome(String s,int start,int end) {
while(start<end) {
if(s.charAt(start++)!=s.charAt(end--)) {
return false;
}
}
return true;
}
public static void doPartition(String s,List<List<String>> res,ArrayList<String> perm) {
if(s.length()==0) {
res.add(new ArrayList<String>(perm));
return;
}
for(int i=0;i<s.length();i++) {
if(isPalindrome(s,0,i)){
perm.add(s.substring(0, i+1));
doPartition(s.substring(i+1), res, perm);
perm.remove(perm.size()-1);
}
}
}
public List<List<String>> partition(String s) {
List<List<String>> res=new ArrayList<List<String>>();
doPartition(s,res,new ArrayList<String>());
return res;
}
}
力扣-11.27-131
最新推荐文章于 2024-10-05 12:29:44 发布