代码随想录——分割回文串(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;
    }
}
相关推荐
jghhh01几秒前
锥束CT(CBCT)三维重构算法:FDK算法详解与实现
线性代数·算法·重构
世界唯一最大变量1 分钟前
此算法能稳定求出柏林52城问题最优解7540.23(整数时为7538),比传统旅行商问题的算法7544.37还优
前端·python·算法
毛小茛1 分钟前
若依框架搭建基础知识
java
元亓亓亓1 分钟前
LeetCode热题100--139. 单词拆分--中等
算法·leetcode·职场和发展
Eloudy2 分钟前
通过示例看 C++ 函数对象、仿函数、operator( )
开发语言·c++·算法
释怀°Believe3 分钟前
Daily算法刷题【面试经典150题-6️⃣kadane/】
算法·面试·职场和发展
开开心心_Every3 分钟前
定时管理进程:防止沉迷电脑的软件推荐
xml·java·运维·服务器·网络·数据库·excel
小高Baby@3 分钟前
map的数据结构,扩容机制,key是无序的原因
数据结构·golang·哈希算法
程序猿零零漆3 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(四)Spring的get方法、Spring配置非定义的Bean、Bean实例化的基本流程
java·学习·spring
薯片锅巴4 分钟前
代码随想录算法训练营第四十四天:孤岛计数(广搜版),孤岛计数(深搜版),最大岛屿的面积
算法