• 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;
        }
    }
    

      

  • 相关阅读:
    pointnet++之classification/train.py
    pointnet++的pytorch实现
    xavier初始化的简单推导
    z+f数据解析
    ubuntu安装dia
    卷积,reLu,池化的意义
    Split
    .net程序调试一:快速定位异常
    Memcached (第一篇)
    System.Web.Caching.Cache类 缓存 各种缓存依赖
  • 原文地址:https://www.cnblogs.com/averillzheng/p/3542558.html
Copyright © 2020-2023  润新知