字符串分割成字串都是回文
2017-09-11 11:32
295 查看
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
[
[“aa”,”b”],
[“a”,”a”,”b”]
]
法1:用到回溯法
Return all possible palindrome partitioning of s.
For example, given s =”aab”,
Return
[
[“aa”,”b”],
[“a”,”a”,”b”]
]
法1:用到回溯法
import java.util.ArrayList; public class Solution { public ArrayList<ArrayList<String>> partition(String s) { ArrayList<ArrayList<String>> result=new ArrayList<>(); ArrayList<String> list=new ArrayList<>(); addPalin(result,list,s); return result; } public void addPalin(ArrayList<ArrayList<String>> result,ArrayList<String> list,String s){ if(s.length()==0){ result.add(new ArrayList<String>(list)); return; } for(int i=1;i<=s.length();++i){ if(!isPali(s.substring(0,i))){ continue; } list.add(s.substring(0,i)); addPalin(result,list,s.substring(i)); list.remove(list.size()-1); } } public boolean isPali(String str){ int i=0; int j=str.length()-1; while(i<j){ if(str.charAt(i)!=str.charAt(j)) return false; ++i; --j; } return true; } }
相关文章推荐
- Palindrome Partitioning II(找给定字符串分割次数获取回文字串, 动态规划)
- 编写一段程序,从标准输入中读取多个字串并将他么连接起来,输出成大的字符串。 改写上述程序,用空格把输入的多个字符串分割开来。
- 求字符串的最长回文字串
- 字符串问题---回文最小分割数
- 求回文字符串的最小分割
- LeetCode OJ 之 Palindrome Partitioning (字符串的回文分割)
- 求一个字符串的所有回文字串
- 牛客面试算法题精讲【个人总结】- 添加最少字符以使字符串整体都是回文字符串
- 写一个函数,用来把一个字符串用指定的字符作为分隔符分割成若干个子串输出 | 写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址
- 网易笔试:字符串回文分割
- [网易]字符串回文分割
- 题目描述 给定一个字符串,找出该字符串的最长回文子串。回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串。字符串abbacdc存在的回文子串有abba和cdc,因此它的最长
- LeetCode(Palindrome Partitioning) 将字符串分割成回文字符串
- 【字符串动态规划】最长回文字串+交替字符串
- 分割字符串为回文串(每一个子串都是回文串)
- 判断字符串string所有分割和子串是否为回文(palindrome)并返回结果(Palindrome Partitioning)
- 牛刀小试二:字符串回文分割 Palindrome Partitioning (DFS+Backtrack)
- 将一个字符串s 切割成子串都是回文,最小的切割次数
- uva 11584 题目大意: 给一个字符串, 要求把它分割成若干个子串,使得每个子串都是回文串。问最少可以分割成多少个。
- 字符串问题---添加最少字符使字符串整体都是回文字符串