分割回文串
来源:互联网 发布:音频矩阵怎么调 编辑:程序博客网 时间:2024/05/18 02:50
给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。
返回s所有可能的回文串分割方案。
样例
给出 s = "aab"
,返回
[ ["aa", "b"], ["a", "a", "b"]]
用一个数组记录分割的位置,每一次都是寻找下一个可以分割的位置
public class Solution { /** * @param s: A string * @return: A list of lists of string */ List R = new ArrayList<ArrayList<String>>(); public List<List<String>> partition(String s) { // write your code here boolean mark[] = new boolean[s.length()]; fun(s,0,mark); return R; } void fun(String str, int index,boolean[] mark){ if(index >= str.length()){ List<String> L = new ArrayList<String>(); int beg=0,last=0; while(last < str.length()){ if(mark[last] == true){ L.add(str.substring(beg, last+1)); beg = last+1; } ++last; } R.add(L); } for(int i=index;i < str.length();++i){ if(isOK(str, index, i)){ mark[i] = true; fun(str, i+1, mark); mark[i] = false; } } } boolean isOK(String str, int beg, int last){ while(beg < last&&str.charAt(beg)==str.charAt(last)){ ++beg; --last; } if(beg < last) return false; else return true; }}
0 0
- 题目:分割回文串
- LintCode- 分割回文串
- 分割回文串
- LintCode:分割回文串
- 分割回文串
- 分割回文串
- 分割回文串
- 分割回文串I
- 分割回文串-LintCode
- 分割回文串II
- LeetCode-----回文串分割
- 分割回文串 II
- LintCode-分割回文串 II
- 题目:分割回文串 II
- lintcode-分割回文串-136
- LintCode: 分割回文串 II
- lintcode(136)分割回文串
- 分割回文串 II-LintCode
- Codeforces 11D - A Simple Task (状压DP)
- UDP传输:(二)优化后的代码:
- ADO对象模型总结
- 一主两从模式如何提升新主库的切换模拟实验
- SEO技巧:网站优化4大步
- 分割回文串
- UDP传输(三):数据来自于键盘录入,键盘录入数据要自己控制录入结束。
- UDP传输:(四)通过多线程改进,在一个窗口中同时接收又发送
- Linux设备模型--kobject&kset
- ASP.NET总结
- 到底怎么样才叫看书
- TCP发送接收数据(一)
- c++作业5
- 2016广东省省赛H题