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

LeetCode:131. 分割回文串

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!
代码随想录

LeetCode:131. 分割回文串
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。
示例 1:
输入:s = “aab”
输出:[[“a”,“a”,“b”],[“aa”,“b”]]
示例 2:
输入:s = “a”
输出:[[“a”]]

其实这题和前面的组合问题还是类似的,只是这里加了个切割字符串并且判断是否回文的概念,需要注意子串怎么切割,这里是左闭右开的,index~i + 1这个区间的就是子串

	public List<List<String>> partition(String s) {List<List<String>> res = new ArrayList<>();backtracking(s, 0, new ArrayList<>(), res);return res;}private void backtracking(String s, int index, List<String> path, List<List<String>> res) {if (index == s.length()) {res.add(new ArrayList(path));return;}for (int i = index; i < s.length(); i++) {if (isPalindrome(s, index, i)) {path.add(s.substring(index, i + 1));backtracking(s, i + 1, path, res);path.remove(path.size() - 1);}}}private boolean isPalindrome(String s, int start, int end) {while (start <= end) {if (s.charAt(start) != s.charAt(end)) {return false;}start++;end--;}return true;}
http://www.lryc.cn/news/521434.html

相关文章:

  • React-useState讲解
  • 混币器是什么,波卡跨链交易平台
  • 【PHP】双方接口通信校验服务
  • Web第一次作业
  • CentOS 6.8 安装 Nginx
  • 网络网络层ICMP协议
  • 当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)
  • Vue.js组件开发-如何实现路由懒加载
  • 灵活妙想学数学
  • 使用 Multer 上传图片到阿里云 OSS的两种方式
  • 破解合同管理之痛,开启智能化管理新模式
  • Linux-day06
  • 源码编译安装httpd 2.4,提供系统服务管理脚本并测试
  • Linux固定ip
  • Java 输入输出流(上)
  • mysql、oracle、sqlserver的区别
  • Java+Maven+GDAL
  • 初识算法和数据结构P1:保姆级图文详解
  • 【Go】Go Gorm 详解
  • 【IDEA版本升级JDK21报错方法引用无效 找不到符号】
  • Node.js 版本管理工具完全指南
  • JavaSE学习心得(多线程与网络编程篇)
  • 平均精确率均值(mAP)
  • VUE学习笔记1__创建VUE实例
  • Inxpect毫米波安全雷达:精准检测与动态保护,工业自动化可靠选择
  • 基于禁忌搜索算法的TSP问题最优路径搜索matlab仿真
  • C51交通控制系统的设计与实现
  • 深度学习的超参数
  • 网络安全面试题及经验分享
  • 【Golang 面试题】每日 3 题(三十一)