131. 分割回文串
Posted zzytxl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了131. 分割回文串相关的知识,希望对你有一定的参考价值。
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。
返回 s 所有可能的分割方案。
示例:
输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ]
class Solution { public List<List<String>> partition(String s) { List<List<String>> res = new ArrayList<>(); bt(s,res,new ArrayList<>()); return res; } private void bt(String s,List<List<String>> res,ArrayList<String> list){ if(s == null || s.length() == 0){ res.add(new ArrayList<>(list)); return; } for(int i = 1;i <= s.length();i++){ String str = s.substring(0,i); if(isValid(str,0,str.length() - 1)){ list.add(str); bt(s.substring(i),res,list); list.remove(list.size() - 1); } } } private boolean isValid(String s,int i ,int j){ while(i < j){ if(s.charAt(i) != s.charAt(j)) return false; i++;j--; } return true; } }
以上是关于131. 分割回文串的主要内容,如果未能解决你的问题,请参考以下文章