当前位置: 首页 > news >正文

力扣-131.分割回文串

题目描述

给你一个字符串 s,请你将 s 分割成一些 子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。

class Solution {List<List<String>> res = new ArrayList<>();List<String> path = new ArrayList<>();void backtracking(String str, int startIndex) {if (startIndex >= str.length()) {res.add(new ArrayList<>(path));return;}for (int i = startIndex; i < str.length(); i++) {String substr = str.substring(startIndex, i + 1);//要求每个子串都是回文串,不是回文串就没必要递归下去了if (judge(substr)) {path.add(substr);backtracking(str, i + 1);path.remove(path.size() - 1);}}}boolean judge(String str) {for (int i = 0, j = str.length() - 1; i < j; i++, j--) {if (str.charAt(i) != str.charAt(j)) {return false;}}return true;}public List<List<String>> partition(String s) {backtracking(s, 0);return res;}
}

小结:回溯部分终于结束了,这道题不是很好理解,需要拆分的每个子串都是回文串,所以需要遍历字符串一遍,一边遍历,一边分割,一边收集,具体细节看代码吧,不想分析了。

相关文章:

  • 72常用控件_QGridLayout的使用
  • 一个自动反汇编脚本
  • 大数据(3) 分布式文件系统HDFS
  • LLMs 系列科普文(15)
  • 第13次01:广告及商品数据呈现
  • MS8312A 车规 精密、低噪、CMOS、轨到轨输入输出运算放大器,用于传感器、条形扫描器
  • 2025-06-08 思考-人被基因和社会关系双重制约
  • 打卡day48
  • FlexRay总线
  • DAY 45 Tensorboard使用介绍
  • MATLAB R2025a|Win中文|仿真建模|安装教程
  • Java中线程的常用方法
  • 批量修改文件夹名 修改文件夹名
  • Python初体验学习笔记
  • 深入解析机器学习的心脏:损失函数及其背后的奥秘
  • 第11篇:数据库中间件系统可配置化设计与动态规则加载机制
  • leetcode.多数元素
  • C语言中的文件操作
  • 【文件传输脚本】
  • Linux 内核内存管理子系统全面解析与体系构建
  • 毕业设计开题报告网站开发/营销手机都有什么功能啊
  • 网站维护推广怎么做/世界足球排名前十名
  • 南昌网站建设q479185700惠/流量精灵
  • 做网站的财务会涉及到的科目/网站推广seo是什么
  • 找人做网站怎么知道归属人/怎么制作一个网站首页
  • 设计师个人网站源码/seo服务是什么