当前位置: 首页 > 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;}
}

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

http://www.xdnf.cn/news/941833.html

相关文章:

  • 基于fpga的疲劳驾驶检测
  • 【Autosar COM】Marvell 88Q5050 以太网交换机驱动技术解析
  • JavaScript 的意义
  • 山东大学项目实训——基于DeepSeek的智能写作与训练平台(十二)
  • cpp自学 day26(智能指针)
  • 基于算法竞赛的c++编程(23)原码,反码,补码
  • 《双指针》题集
  • [特殊字符]01Linux基础入门教程——从起源到核心概念
  • 高等数学 | 第八章-向量值函数的积分与场论
  • JavaScript 语法结构
  • MySQL 索引失效:六大场景与原理剖析
  • 官网Numpy教程
  • leetcode.多数元素
  • 【PhysUnits】17.1 补充数值后量纲系统实现解析 (dimension.rs)
  • 一键压缩图片工具
  • 2000-2020年各省第三产业增加值占GDP比重数据
  • 网络安全基础
  • Python 调用 C 程序时输出顺序错乱问题分析与解决
  • 0x-2-Oracle Linux 9上安装JDK配置环境变量
  • 第五讲 基础IO
  • Go切片与映射的内存优化技巧:实战经验与最佳实践
  • 【LeetCode】算法详解#6 ---除自身以外数组的乘积
  • JUC并发编程(六)CAS无锁实现/原子整数/原子引用/原子数组/字段更新
  • Python训练营---DAY48
  • Java线程安全与同步机制全解析
  • 嵌入式学习笔记 - freeRTOS为什么中断中不能使用互斥量
  • 《最短路(Dijkstra+Heap)》题集
  • MySql读写分离部署(一主一从,双主双从,Mycat)
  • 为什么已经有 Nginx 了,还需要服务网关?
  • 【LUT技术专题】带语义的图像自适应4DLUT