代码随想录——分割回文串(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;
    }
}
相关推荐
指尖下的技术7 分钟前
Mysql面试题----为什么B+树比B树更适合实现数据库索引
数据结构·数据库·b树·mysql
九月十九16 分钟前
AviatorScript用法
java·服务器·前端
翻晒时光23 分钟前
深入解析Java集合框架:春招面试要点
java·开发语言·面试
sin220135 分钟前
MyBatis-Plus的插件
java·mybatis
小丁爱养花42 分钟前
Spring MVC:综合练习 - 深刻理解前后端交互过程
java·spring·mvc
ExRoc1 小时前
蓝桥杯真题 - 填充 - 题解
c++·算法·蓝桥杯
五行星辰1 小时前
Java 生成 PDF 文档 如此简单
java·pdf·maven
利刃大大1 小时前
【二叉树的深搜】二叉树剪枝
c++·算法·dfs·剪枝
菜鸟阿康学习编程2 小时前
JavaWeb 学习笔记 XML 和 Json 篇 | 020
xml·java·前端
是小崔啊2 小时前
Spring源码05 - AOP深入代理的创建
java·spring