代码随想录——分割回文串(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;
    }
}
相关推荐
x***381627 分钟前
springboot和springframework版本依赖关系
java·spring boot·后端
S***848842 分钟前
SpringSecurity踢出指定用户
java
p***s9144 分钟前
Spring数据库原理 之 DataSource
java·数据库·spring
adobehu44 分钟前
麒麟系统安装jdk17
java·jdk
potato_may44 分钟前
链式二叉树 —— 用指针构建的树形世界
c语言·数据结构·算法·链表·二叉树
Mz12211 小时前
day07 和为 K 的子数组
数据结构
spencer_tseng1 小时前
java.util.IllegalFormatPrecisionException
java·printf
虹科网络安全1 小时前
艾体宝干货 | Redis Java 开发系列#1 从零开始的环境搭建与实践指南
java·数据库·redis
铅笔侠_小龙虾1 小时前
Arthas 命令
java·jvm
java修仙传1 小时前
每日一题,力扣560. 和为 K 的子数组
算法·leetcode