代码随想录——分割回文串(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;
    }
}
相关推荐
星星码️3 分钟前
LeetCode刷题简单篇之反转字母
c++·算法·leetcode
yaoxin52112311 分钟前
402. Java 文件操作基础 - 读取二进制文件
java·开发语言·python
沐浴露z13 分钟前
面试官:静态变量与非静态成员变量的区别?别再死记硬背了!
java·jvm
极创信息15 分钟前
信创软件快速适配信创改造,实战落地思路
java·大数据·数据库·人工智能·mvc·软件工程·hibernate
摇滚侠20 分钟前
Java 项目教程《尚庭公寓》标签管理、自定义 converter 14 - 18
java·elasticsearch·架构
程序员清风25 分钟前
科普一下:大模型Token的收费逻辑!
java·后端·面试
Nyarlathotep011325 分钟前
并发集合类(4):ArrayBlockingQueue
java·后端
naturerun27 分钟前
螺旋形遍历奇数阶矩阵
c++·算法·矩阵
TopGames30 分钟前
〖Unity GPU粒子插件〗ParticleSystem的终极性能优化方案 十倍百倍的显著提升 现有特效转GPU粒子 高性能特效方案
java·开发语言
hqyjzsb33 分钟前
跨行业求职最快的加分方式:带一个AI时代人人都缺的能力去面试
人工智能·面试·职场和发展·aigc·人机交互·产品经理·学习方法