每日5题分割回文串
Posted Alice_yufeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日5题分割回文串相关的知识,希望对你有一定的参考价值。
class Solution
/*回文判断*/
private boolean isPalindrome(String str)
StringBuffer sb = new StringBuffer(str);
if (sb.reverse().toString().equals(str))
return true;
return false;
/*遍历符合回文条件的字符串组合*/
private void partitionDP(String str, List<String> oneArray, List<List<String>> res)
if (str.isEmpty())
List<String> oneArrayCopy = new ArrayList<>();
oneArrayCopy.addAll(oneArray);
res.add(oneArrayCopy);
for (int i = 0; i <= str.length(); i++)
String preStr = str.substring(0, i);
if (!isPalindrome(preStr) || preStr.isEmpty())
continue;
oneArray.add(preStr);
partitionDP(str.substring(i), oneArray, res);
oneArray.remove(oneArray.size() - 1);
/*处理准备工作*/
public List<List<String>> partition(String s)
List<List<String>> result = new ArrayList<>();
List<String> oneArray = new ArrayList<>();
partitionDP(s, oneArray, result);
return result;
以上是关于每日5题分割回文串的主要内容,如果未能解决你的问题,请参考以下文章