代码随想录——分割回文串(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;
    }
}
相关推荐
长不胖的路人甲2 分钟前
可达性分析法(根搜索算法)完整详解
java·jvm·算法
笨笨饿7 分钟前
#102_Codex无在VSCold无法打开
java·c语言·数据库·笔记
paeamecium11 分钟前
【PAT甲级真题】- Kuchiguse (20)
数据结构·c++·python·算法·pat考试·pat
程序员清风14 分钟前
AI不是万能的,大家要专注实践!
java·后端·面试
青山木15 分钟前
Hot 100 --- 全排列
java·数据结构·算法·leetcode·深度优先
海兰16 分钟前
【高速缓存】RedisVL 存储类型选择指南:Hash 与 JSON
人工智能·redis·算法·缓存·json·哈希算法
KaMeidebaby19 分钟前
卡梅德生物技术快报|核酸适配体文库筛选:核酸适配体文库筛选全流程技术解析:NGS与AI辅助方案的设计与实践
前端·人工智能·物联网·算法·百度
猫猫不是喵喵.22 分钟前
认证授权【Spring Security】
java·认证授权
小罗水23 分钟前
第1章 大模型、企业知识库与 RAG 平台概述
java·spring
不知疲倦的仄仄30 分钟前
MySQL/Read View快照/MVCC/串行化
java·数据库·mysql