zoukankan      html  css  js  c++  java
  • leetcode--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"]
      ]
    

      Discuss

    public class Solution {
        public ArrayList<ArrayList<String>> partition(String s) {
             ArrayList<ArrayList<String> > result = new ArrayList<ArrayList<String> >();
    		int len = s.length();
    		if(len > 0){
    			for(int i = 0; i < len; ++i){				
    				if(isPalindrome(s.substring(0, i + 1))){
    					ArrayList<ArrayList<String> > temp = partition(s.substring(i + 1, len));
    					int size = temp.size();
    					if(size > 0){
    						while(!temp.isEmpty()){
    							ArrayList<String> aPartition = new ArrayList<String>();
    							aPartition.add(s.substring(0, i + 1));
    							ArrayList<String> alist = temp.remove(0); 
    							aPartition.addAll(alist);
    							result.add(aPartition);
    						}
    					}
    					else{
    						ArrayList<String> alist = new ArrayList<String>();
    						alist.add(s.substring(0,i + 1));
    						result.add(alist);
    					}
    				}
    			}			
    		}
    		return result;
        }
    	
    	public boolean isPalindrome(String s){
    		boolean isPal = true;
    		for(int i = 0,j = s.length() - 1; i <= j; ++i, --j){
    			if(s.charAt(i) != s.charAt(j)){
    				isPal = false;
    				break;
    			}
    		}
    		return isPal;
        }
    }
    

      

  • 相关阅读:
    Hadoop 文件系统命令行基础
    Mac bash 远程连接阿里云服务器
    Master in Vocab -- Day Six
    Master in Vocab -- Day Five
    Master in Vocab -- Day Four
    Master in Vocab -- Day Three
    mybatis学习一
    mysql事务,视图,权限管理,索引,存储引擎(胖胖老师)
    SpringAOP
    Spring事务
  • 原文地址:https://www.cnblogs.com/averillzheng/p/3542558.html
Copyright © 2011-2022 走看看