X Tutup
import java.util.ArrayList; /** * @author aliyang * @date 18-5-31 下午10:44 * palindrome-partitioning:我的解法 */ public class T20 { public ArrayList> partition(String s) { if (s.length()==0||s==null) return new ArrayList>(); ArrayList> res=new ArrayList<>(); ArrayList current=new ArrayList<>(); part(s,res,current); return res; } // 判断是否是回环字符串 private boolean isPalindrome(String s){ int start=0; int end=s.length()-1; while (start> res,ArrayList cur){ if (s.equals("")){ res.add(new ArrayList<>(cur)); return; } for (int i=1;i<=s.length();i++){ String tmp=s.substring(0,i); if (isPalindrome(tmp)){ cur.add(tmp); part(s.substring(i,s.length()),res,cur); cur.remove(cur.size()-1); } } } public static void main(String[] args){ T20 t=new T20(); String s="aab"; ArrayList> res=t.partition(s); for (int i=0;i tmp=res.get(i); for (int j=0;j
X Tutup