您的位置:首页 > 其它

字符串分割成字串都是回文

2017-09-11 11:32 295 查看
Given a string s, partition s such that every substring of the partition is a palindrome.

Return all possible palindrome partitioning of s.

For example, given s =”aab”,

Return

[

[“aa”,”b”],

[“a”,”a”,”b”]

]

法1:用到回溯法

import java.util.ArrayList;
public class Solution {
public ArrayList<ArrayList<String>> partition(String s) {
ArrayList<ArrayList<String>> result=new ArrayList<>();
ArrayList<String> list=new ArrayList<>();
addPalin(result,list,s);
return result;
}
public void addPalin(ArrayList<ArrayList<String>> result,ArrayList<String> list,String s){
if(s.length()==0){
result.add(new ArrayList<String>(list));
return;
}
for(int i=1;i<=s.length();++i){
if(!isPali(s.substring(0,i))){
continue;
}
list.add(s.substring(0,i));
addPalin(result,list,s.substring(i));
list.remove(list.size()-1);
}

}

public boolean isPali(String str){
int i=0;
int j=str.length()-1;
while(i<j){
if(str.charAt(i)!=str.charAt(j))
return false;
++i;
--j;
}
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐