2024: 刚开始做leetcode hot100,查阅自己以前写的题解专栏,发现没有这一题,于是加上。可能leetcode100更新了吧。我看现在leetcode100官网的题目已经是分好类的了,以前我的题解帖子是自己手动分类整理的。
class Solution {List<List<String>> res;public List<List<String>> partition(String s) {res=new ArrayList<>();dfs(new ArrayList<String>(),s);return res;}public void dfs(ArrayList<String> tmp,String s){//剩下要处理的if(s==null||s.length()==0){res.add(new ArrayList(tmp));return;}for(int i=1;i<=s.length();i++){//a是已分割,b是未分割String a=s.substring(0,i);String b="";if(i<s.length())b=s.substring(i);if(isPalindrome(a)){tmp.add(a);dfs(tmp,b);tmp.remove(tmp.size()-1);}}}//判断是否是回文public boolean isPalindrome(String s){if(s.length()==0||s.length()==1) return true;int i=0,j=s.length()-1;while(i<=j){if(s.charAt(i)!=s.charAt(j)){return false;}i++;j--;}return true;}
}