代码随想录——分割回文串(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;
    }
}
相关推荐
q***251几秒前
Spring Boot 集成 Kettle
java·spring boot·后端
筱顾大牛7 分钟前
IDEA使用Gitee来创建远程仓库
java·gitee·intellij-idea
[J] 一坚12 分钟前
深入浅出理解冒泡、插入排序和归并、快速排序递归调用过程
c语言·数据结构·算法·排序算法
czlczl2002092521 分钟前
算法:二叉搜索树的最近公共祖先
算法
司铭鸿21 分钟前
祖先关系的数学重构:从家谱到算法的思维跃迁
开发语言·数据结构·人工智能·算法·重构·c#·哈希算法
程序员小远28 分钟前
Appium-移动端自动测试框架详解
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
懂得节能嘛.30 分钟前
【SDK开发实践】从Java编码到阿里云制品仓库部署
java·阿里云·maven
空空kkk37 分钟前
SpringMVC——异常
java·前端·javascript
yk0820..42 分钟前
测试用例的八大核心要素
数据结构
重整旗鼓~1 小时前
1.大模型使用
java·语言模型·langchain