Palindrome Partitioning
2015-08-09 15:23
337 查看
Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
For example, given s = "aab",
Return
将字符串分割成子串全是回文字符串。
Return all possible palindrome partitioning of s.
For example, given s = "aab",
Return
[ ["aa","b"], ["a","a","b"] ]
将字符串分割成子串全是回文字符串。
public class Solution { public List<List<String>> partition(String s) { ArrayList<List<String>> result=new ArrayList<List<String>>(); if(s==null||s.length()<=0) return result; ArrayList<String> at=new ArrayList<String>(); dfs(s,0,at,result); return result; } private void dfs(String s,int start,List<String> lt,ArrayList<List<String>> result){ if(start==s.length()){ List<String> t=new ArrayList<String>(lt); result.add(t); return; } for(int i=start+1;i<=s.length();i++){ String tmp=s.substring(start, i); if(isPalindrome1(tmp)){ lt.add(tmp); dfs(s,i,lt,result); lt.remove(lt.size()-1); } } } private boolean isPalindrome1(String s){ for(int i=0;i<s.length()/2;i++){ if(s.charAt(i)!=s.charAt(s.length()-1-i)) return false; } return true; } }
相关文章推荐
- HDU 2064 汉诺塔III
- UVA 442 Matrix Chain Multiplication
- 思考与总结【6】:书写促进思考
- 分页
- 第22章 声音与音乐(2)
- Flume+Kafka+Strom基于分布式环境的结合使用
- 使用COM组件实现对Excel文件的操控
- 如何正确入门Windows系统下驱动开发领域?
- FZU 1182 Argus
- UVA 10892 LCM Cardinality (分解因数+暴力)
- 联想G480安装CentOS电缆驱动器
- Sparql语言模型(一)
- modelsim-altera 仿真设置
- 素数 表
- POJ 2528 Mayor's posters 线段树+离散化
- POJ 3349 Snowflake Snow Snowflakes (链式解决冲突)
- HDU 5366 The mook jong (动态规划,详解)
- MyBatis -- configuration配置详解
- FZU 1171 Hard to Believe, but True!
- 8个值得关注的SQL-on-Hadoop框架