博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode刷题笔记-回溯法-分割回文串
阅读量:6958 次
发布时间:2019-06-27

本文共 1010 字,大约阅读时间需要 3 分钟。

题目描述:

给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。

返回 s 所有可能的分割方案。

示例:

输入: "aab"

输出:
[
["aa","b"],
["a","a","b"]
]

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/palindrome-partitioning

解题思路:

1、显然回溯法:求所有可能结果&结果是个List<list<>>类型。

2、此题与求所以子集很相似,知识每个自己都要判断一个是不是回文串。

3、注意判断回溯函数使用huisu(int begin,int end,String target) 便于字串处理

Java代码实现如下

1 //回文字符判断 2     public boolean isPalindrome(String s,int start,int end){ 3         while(start
> partition(String s) {13 //求出所有子集14 //判断是不是回文15 List
> result = new ArrayList<>();16 List
temp = new ArrayList<>();17 part(result,temp,s,0);18 return result;19 }20 21 public void part(List
> result,List
temp,String s,int begin){22 if (begin==s.length()){23 result.add(new ArrayList(temp)); //一定要先申请内存,否则添加的是一个引用,返回结果为空。24 return; //处理完成一定要return!!!25 }26 for (int i=begin;i

 

   

 

转载于:https://www.cnblogs.com/sqchao/p/11070140.html

你可能感兴趣的文章
sublime实用插件-持续更新
查看>>
DotImage使用教程:从数据库中读写图像
查看>>
行业虚拟化发展趋势——“瑞友杯”虚拟化征文
查看>>
XY问题在开发中的体现
查看>>
更换或加装网卡的eth编号顺序配置
查看>>
Executors下面的线程池实现
查看>>
锐捷CCNA系列(五) 交换机配置模式切换
查看>>
squid命中率监控软件安装
查看>>
备份 Outlook 2010 中接收到的邮件和联系人
查看>>
用open***组建lan to lan ***
查看>>
我的友情链接
查看>>
Invalid source HTML for this operation , Error In IE
查看>>
Linux服务器间建立双向信任-无密码相互访问
查看>>
【COCOS2D-HTML5 开发之二】cocos2d-html5项目定义成员,局部变量,函数笔记随笔
查看>>
rsync与inotify
查看>>
将博客搬至CSDN
查看>>
使用docker镜像玩转steam挂卡
查看>>
修改root密码方式及克隆虚拟机
查看>>
hadoop技术入门学习之发行版选择
查看>>
spring-boot官方参考文档(使用spring-boot)(2.2)
查看>>