代码随想录——分割回文串(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***16101 分钟前
【JavaEE】Spring Boot 项目创建
java·spring boot·java-ee
6***v4174 分钟前
VScode 开发 Springboot 程序
java·spring boot·后端
STY_fish_20127 分钟前
P11855 [CSP-J2022 山东] 部署
算法·图论·差分
myw0712057 分钟前
湘大头歌程-Ride to Office练习笔记
c语言·数据结构·笔记·算法
t***31658 分钟前
SpringBoot中自定义Starter
java·spring boot·后端
H_BB9 分钟前
算法详解:滑动窗口机制
数据结构·c++·算法·滑动窗口
淀粉肠kk10 分钟前
【C++】封装红黑树实现Mymap和Myset
数据结构·c++
Zero-Talent11 分钟前
“栈” 算法
算法
橘子编程11 分钟前
经典排序算法全解析
java·算法·排序算法
waeng_luo11 分钟前
【鸿蒙开发实战】智能数据洞察服务:待回礼分析与关系维护建议算法
算法·ai编程·鸿蒙