代码随想录——分割回文串(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;
    }
}
相关推荐
果壳~3 分钟前
【Java】使用国密2,3,4.仿照https 统一请求响应加解密
java·https
hetao173383715 分钟前
2025-11-13~14 hetao1733837的刷题记录
c++·算法
N 年 后16 分钟前
单独Docker部署和Docker Compose部署
java·docker·容器
hansang_IR25 分钟前
【题解】洛谷 P2476 [SCOI2008] 着色方案 [记搜]
c++·算法·记忆化搜索
lkbhua莱克瓦2427 分钟前
Java练习——数组练习
java·开发语言·笔记·github·学习方法
趙卋傑28 分钟前
常见排序算法
java·算法·排序算法
Slow菜鸟35 分钟前
Java后端常用技术选型 |(四)微服务篇
java·分布式
武子康41 分钟前
Java-168 Neo4j CQL 实战:WHERE、DELETE/DETACH、SET、排序与分页
java·开发语言·数据库·python·sql·nosql·neo4j
Filotimo_41 分钟前
SpringBoot3入门
java·spring boot·后端
通往曙光的路上1 小时前
SpringIOC-注解
java·开发语言