代码随想录——分割回文串(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;
    }
}
相关推荐
captain3764 小时前
文件与IO(2)
java·开发语言·windows·java-ee
mqiqe4 小时前
AgentScope Java 2.0 集成 Chat Completions Web:一行依赖让你的 Agent 变身 OpenAI 兼容服务
java·开发语言·前端
qq_589666054 小时前
Java微服务介绍及应用
java·开发语言·微服务
OPEN-F4 小时前
C++进阶教程:运算符重载与类型转换
java·c++·算法
小小数媒成员4 小时前
存储器层级结构
java·服务器·前端
牧杉-惊蛰5 小时前
将数组对象根据自定义排列
java·开发语言·算法
砚底藏山河5 小时前
【量化纯GET实战 #04】批量快照:一次 HTTP GET 取多只股票
java·python·金融·eclipse
君顾15 小时前
家校托管互通:从需求分析到系统架构的落地实践
java·开发语言·托管
inquisiter5 小时前
损失函数在标量和矩阵上的求导对比
线性代数·算法·矩阵