一般的回溯算法问题
public class Solution { public List<List<String>> partition(String s) { List<List<String>> allResults = new ArrayList<List<String>>(); if(s.length() == 1){ ArrayList<String> result = new ArrayList<String>(); result.add(s.substring(0, 1)); allResults.add(result); return allResults; } for(int i=1; i<s.length()+1; i++){ if(isPalindrome(s.substring(0, i))){ ArrayList<String> result = new ArrayList<String>(); result.add(s.substring(0, i)); trackBack(s, i-1, result, allResults); } } return allResults; } private void trackBack(String s, int end, ArrayList<String> result, List<List<String>> allResults){ if(end == s.length()-1){ ArrayList<String> a =(ArrayList<String>)result.clone(); allResults.add(a); return; } for(int i=end+2; i<=s.length(); i++){ String subS = s.substring(end+1, i); if(isPalindrome(subS)){ int size = result.size(); result.add(size, subS); trackBack(s, i-1, result, allResults); result.remove(size); } } } private boolean isPalindrome(String s){ String rs = new StringBuffer(s).reverse().toString(); if(s.equals(rs)){ return true; } return false; } }
相关推荐
javascript js_leetcode题解之132-palindrome-partitioning-ii.js
python python_leetcode题解之132_Palindrome_Partitioning_II
leetcode思维导图-回溯
压缩包中的"LeetCode-Sol-Res-master"文件夹,很可能是LeetCode解题资源的源代码仓库,可能包括了多种编程语言(如Python、Java、C++等)的解题方案。这些解决方案通常会按照LeetCode题目的编号进行组织,方便用户...
本资源“javalruleetcode-leetcode-algorithms-java”专注于 Java 语言在 LeetCode 平台上的算法实现,特别提到了 LRUCache(最近最少使用)数据结构,这是解决实际编程问题时常用的一种高效策略。 LRUCache 是一种...
java lru leetcode LeetCode-Tag-Java 解决方案 LeetCode 的解决方案 指数
java java_leetcode-115-distinct-subsquences
java java_leetcode-101-symmetric-tree
java java_leetcode-100-same-tree
java java_leetcode-112-path-sum
java java_leetcode-113-path-sumII
java java_leetcode-73-set-matrix-zeroes
java java_leetcode-110-balanced-binary-tree
javascript js_leetcode题解之131-palindrome-partitioning.js
java java_leetcode-maximum-depth-of-binary-tree
java java_leetcode-99-recover-binary-search-tree
java java_leetcode-111-minimum-depth-of-binary-tree
java java_leetcode-107-binary-tree-level-order-traversal
java java_leetcode-102-binary-tree-level-order-traversal
https://github.com/geekxingyun/leetcode-java-algorithm-solution.git 然后你会发现当前项目有两个模块。 完成:它是完成的项目,并有一些关于 leetcode 的答案。 初始:只需在模块项目中编写代码 如果您不知道...