[刷题]Palindrome Partitioning

原创 2015年07月08日 20:20:28

[刷题]Palindrome Partitioning

public class Solution {
    /**
     * @param s: A string
     * @return: A list of lists of string
     */
    public List<List<String>> partition(String s) {
        // 2015-07-08
        List<List<String>> rst = new ArrayList<List<String>>();
        if (s == null || s.length() == 0) {
            return rst;
        }
        ArrayList<String> list = new ArrayList<>();
        
        helper(rst, list, s, 0);
        return rst;
    }
    
    // 注意第一个参数的类型
    private void helper(List<List<String>> rst, ArrayList<String> list, String s, int pos) {
        if (pos == s.length()) {
            rst.add(new ArrayList<String>(list));
            return;
        }
        
        for (int i = pos + 1; i <= s.length(); i++) { //注意是<=
            if (!isPalindrome(s.substring(pos, i))) {
                continue;
            }
            list.add(s.substring(pos, i));
            helper(rst, list, s, i);
            list.remove(list.size() - 1);
        }
        return;
    }
    
    private boolean isPalindrome(String s) {
        if (s.length() == 0) {
            return true;
        }
        int start = 0;
        int end = s.length() - 1;
        while (start < end) {
            if (s.charAt(start) != s.charAt(end)) {
                return false;
            }
            start++;
            end--;
        }
        return true;
    }
}


136.Palindrome Partitioning-分割回文串(中等题)

分割回文串 题目给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。 返回s所有可能的回文串分割方案。 样例 给出 s = “aab”,返回 题解回溯法,如s = “aab”,对s进行遍历...

Leetcode 131. Palindrome Partitioning

Given a string s, partition s such that every substring of the partition is a palindrome.Return all ...

Leetocde: Palindrome Partitioning II

Given a string s, partition s such that every substring of the partition is a palindrome. Return th...
  • doc_sgl
  • doc_sgl
  • 2013年10月28日 23:41
  • 6302

[LeetCode] Palindrome Partitioning II [12]

题目:For example, given s = "aab", Return 1 since the palindrome partitioning ["aa","b"] could be prod...
  • swagle
  • swagle
  • 2014年06月06日 17:40
  • 714

leetcode Palindrome Partitioning II

题目: Given a string s, partition s such that every substring of the partition is a palindrome. ...

LeetCode 132. Palindrome Partitioning II (C++)

二维递归+遍历 与 一维递归+备忘录 效率相差非常大

leetcode 131. Palindrome Partitioning-回溯算法

原题链接:131. Palindrome Partitioning 【思路-Java】递归实现 本题采用回溯算法实现。 1. 最外层循环 public class Solution { pub...

Leetcode 131 Palindrome Partitioning 回文分割

给出一个字符串s,对s进行分割,使得每一个子串都是一个回文串,返回s所有可能的回文分割...

Palindrome Partitioning II -- LeetCode

原题链接: http://oj.leetcode.com/problems/palindrome-partitioning-ii/  这道题跟Palindrome Partitioning非常类似,...

[LeetCode133]Palindrome Partitioning II

Given a string s, partition s such that every substring of the partition is a palindrome. Return ...
  • sbitswc
  • sbitswc
  • 2014年05月31日 01:29
  • 572
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[刷题]Palindrome Partitioning
举报原因:
原因补充:

(最多只允许输入30个字)