码迷,mamicode.com
首页 > 其他好文 > 详细

[leetcode]Palindrome Partitioning

时间:2014-07-16 17:41:15      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   art   

Palindrome Partitioning

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"]
  ]

算法思路:
dfs
 1 public class Solution {
 2     List<List<String>> result = new ArrayList<List<String>>();
 3     
 4     public List<List<String>> partition(String s) {
 5         if(s == null || s.length() == 0) return result;
 6         dfs(new ArrayList<String>(),s);
 7         return result;
 8     }
 9     private void dfs(List<String> list,String s){
10         if(s.length() == 0){
11             result.add(new ArrayList<String>(list));
12             return;
13         }
14         for(int i = 0; i < s.length(); i++){
15             String pre = s.substring(0, i + 1);
16             if(isPalindrome(pre)){
17                 list.add(pre);
18                 dfs(list, s.substring(i + 1));
19                 list.remove(list.size() - 1);
20             }
21         }
22     }
23     private boolean isPalindrome(String s){
24         for(int i = 0; i <= s.length() / 2; i++){
25             if(s.charAt(i) != s.charAt(s.length() - 1 - i)) return false;
26         }
27         return true;
28     }
29 }

jd的做法几乎一样,并在博文下面借鉴了两篇其他博文,其中有个DP算法可以看一下。

 

[leetcode]Palindrome Partitioning,布布扣,bubuko.com

[leetcode]Palindrome Partitioning

标签:style   blog   http   color   os   art   

原文地址:http://www.cnblogs.com/huntfor/p/3847801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!