给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。
回文串 是正着读和反着读都一样的字符串。
示例 1:
输入:s = "aab" 输出:[["a","a","b"],["aa","b"]]
示例 2:
输入:s = "a" 输出:[["a"]]
1 <= s.length <= 16s 仅由小写英文字母组成- class Solution {
- public List
> partition(String s){
- List
> res=new ArrayList<>();
- Deque
path=new ArrayDeque<>(); - dfs(s,0,path,res);
- return res;
- }
- private void dfs(String s,int begin,Deque
path,List> res)
{ - if(begin>=s.length()){
- res.add(new ArrayList<>(path));
- return;
- }
- for(int i=begin;i
-
- if(isPalindome(s,begin,i)){
- String str=s.substring(begin,i+1);
- path.addLast(str);
-
- }else{
- continue;
- }
- dfs(s,i+1,path,res);
- path.removeLast();
- }
- }
- private boolean isPalindome(String s,int start,int end){
- for(int i=start,j=end;i
- if(s.charAt(i)!=s.charAt(j)){
- return false;
- }
- }
- return true;
- }
- }
-
相关阅读:
Alpine镜像安装telnet
不谈源码,聊聊位运算的实际应用
Android 13 第一个开发者预览版本来了,网友直呼:Android 12 还没透
好用移动APP自动化测试框架哪里找?收藏这份清单就好了!
go-zero 成长之路—微服务电商实战系列(七、并发处理工具MapReduce的使用)
Java岗最全面试攻略,吃透25个技术栈,Offer拿到手软,直捣秋招
STM32 新建工程
JAVA_标识符命名规范
56、MQ(异步通讯的的缺点/优点)
vue实现文字手工动态打出效果
-
原文地址:https://blog.csdn.net/kt1776133839/article/details/128189781