【刷题1】LeetCode 131. 分割回文串 java题解

2024: 刚开始做leetcode hot100,查阅自己以前写的题解专栏,发现没有这一题,于是加上。可能leetcode100更新了吧。我看现在leetcode100官网的题目已经是分好类的了,以前我的题解帖子是自己手动分类整理的。

java 复制代码
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;
    }
}
相关推荐
熙客16 小时前
TiDB:分布式关系型数据库
java·数据库·分布式·tidb
你想考研啊17 小时前
linux安装jdk和tomcat和并自启动
java·linux·tomcat
智驱力人工智能18 小时前
基于视觉分析的人脸联动使用手机检测系统 智能安全管理新突破 人脸与手机行为联动检测 多模态融合人脸与手机行为分析模型
算法·安全·目标检测·计算机视觉·智能手机·视觉检测·边缘计算
悟能不能悟19 小时前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
2301_7644413319 小时前
水星热演化核幔耦合数值模拟
python·算法·数学建模
循环过三天19 小时前
3.4、Python-集合
开发语言·笔记·python·学习·算法
高山上有一只小老虎20 小时前
java 正则表达式大全
java·正则表达式
_院长大人_20 小时前
设计模式-工厂模式
java·开发语言·设计模式
凌波粒21 小时前
MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j
java·intellij-idea·mybatis
蓝-萧21 小时前
【玩转全栈】----Django基本配置和介绍
java·后端