给你一个字符串 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;
- }
- }
-
相关阅读:
STC 51单片机41——汇编 串口连续发送数据
UE5 Foliage地形植被实例删不掉选不中问题
adb使用笔记
CSS基础教程3——字体和文字样式(上)
面试必备:聊聊分布式锁的多种实现!
Tomcat
【html5期末大作业】基于HTML+CSS+JavaScript管理系统页面模板
【Docker与微服务】高级篇
系统架构设计师-计算机系统基础知识(1)
深度学习-卷积神经网络
-
原文地址:https://blog.csdn.net/kt1776133839/article/details/128189781