代码随想录——分割回文串(Leetcode 131)

题目链接

回溯

java 复制代码
class Solution {
    List<List<String>> res = new ArrayList<List<String>>();
    List<String> list= new ArrayList<String>();
    public List<List<String>> partition(String s) {
        backtracking(s, 0);
        return res;
    }
    public void backtracking(String s, int startIndex){
        if(startIndex >= s.length()){
            res.add(new ArrayList<>(list));
            return;
        }
        for(int i = startIndex; i < s.length(); i++){
            // 如果是回文数,则继续回溯
            if(is(s, startIndex, i)){
                list.add(s.substring(startIndex, i + 1));
            }else{
                continue;
            }
            backtracking(s, i + 1);
            list.removeLast();
        }
    }
    // 判断回文数
    public boolean is(String s, int start, int end){
        for(int i = start, j = end; i < j; i++, j--){
            if(s.charAt(i) != s.charAt(j)){
                return false;
            }
        }
        return true;
    }
}
相关推荐
果然途游几秒前
完整Java后端学习路径
java·开发语言·学习笔记
又是重名了2 分钟前
导出新方案-poi和easyexcel融合
java·poi·easyexcel
uup3 分钟前
看似简单的空指针 —— 包装类自动拆箱陷阱
java
天天摸鱼的java工程师8 分钟前
Docker+K8s 部署微服务:从搭建到运维的全流程指南(Java 老鸟实战版)
java·后端
l1t8 分钟前
Javascript引擎node bun deno比较
开发语言·javascript·算法·ecmascript·bun·精确覆盖·teris
用户8307196840829 分钟前
Apache Tomcat 体系结构深度解析
java·tomcat
管理大亨14 分钟前
企业级ELK:从日志收集到业务驱动
java·大数据·网络·数据库·elk·elasticsearch
BBB努力学习程序设计16 分钟前
Java并发包深度解析:从AQS到线程池的完全指南
java
xing-xing17 分钟前
Java集合Map总结
java
古城小栈17 分钟前
性能边界:何时用 Go 何时用 Java 的技术选型指南
java·后端·golang