<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小明思考

    Just a software engineer
    posts - 124, comments - 36, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    回文字符串的切割問題2

    Posted on 2013-04-15 13:52 小明 閱讀(1510) 評論(0)  編輯  收藏 所屬分類: 數據結構和算法
    問題給定一個字符串s,切割字符串使得每個子串都是回文的。(比如aba,對稱)
    要求返回所有可能的分割。

    比如,對于字符串s="aab",
    返回:

    [
       ["aa","b"],
       ["a","a","b"]
    ]


    分析:
    這個一個典型的可以用遞歸來解決問題,對于字符串s,先找出第一段回文字符串,然后遞歸的調用自己來切割余下的部分。

    private boolean isPalindrome(String s){
            int len = s.length();
            if(len>1){
                for(int i=0;i<len/2;++i){
                    if(s.charAt(i)!=s.charAt(len-i-1)){
                        return false;
                    }
                }
            }
            return true;
        }
        
        public ArrayList<ArrayList<String>> partition(String s) {
            ArrayList<ArrayList<String>> result = new ArrayList<ArrayList<String>>();
            if(isPalindrome(s)){
                ArrayList<String> as = new ArrayList<String>();
                as.add(s);
                result.add(as);
            }
            
            int len= s.length();
            for(int i=1;i<len;++i){
                String ss = s.substring(0,i); //find the first part
                if(isPalindrome(ss)){
                    ArrayList<ArrayList<String>> subResult = partition(s.substring(i)); //partition the remain part
                    for(ArrayList<String> as:subResult){
                        ArrayList<String> newas = new ArrayList<String>();
                        newas.add(ss);
                        newas.addAll(as);
                        result.add(newas);
                    }
                }
            }
            
            return result;
        }
    主站蜘蛛池模板: 亚洲AV成人一区二区三区观看 | 99久久免费国产特黄| 亚洲an日韩专区在线| 亚洲AV无码一区东京热久久| 九月婷婷亚洲综合在线| 成人黄动漫画免费网站视频| 最近中文字幕2019高清免费| 国产又黄又爽胸又大免费视频| 综合一区自拍亚洲综合图区| 国产AV旡码专区亚洲AV苍井空| 亚洲黄网站wwwwww| 亚洲VA中文字幕无码毛片 | 国产亚洲精品美女| 亚洲乱码日产精品一二三| 亚洲一级毛片中文字幕| 久久精品国产亚洲AV无码偷窥| 国产亚洲精品自在久久| AV在线播放日韩亚洲欧| 亚洲国产精品成人| 永久免费看bbb| 在线视频免费国产成人| 夫妻免费无码V看片| 最近高清国语中文在线观看免费| 五月亭亭免费高清在线| 222www免费视频| 最近2019中文字幕免费直播| 香港a毛片免费观看| 嫩草在线视频www免费观看| 在线观看黄片免费入口不卡| 国产视频精品免费视频| aa毛片免费全部播放完整| 一个人看的www在线免费视频| 免费人成大片在线观看播放| 西西人体大胆免费视频| 免费人成在线观看播放a| 免费无码国产V片在线观看| 四虎国产精品永免费| 二级毛片免费观看全程| 中国精品一级毛片免费播放| 国内精品一级毛片免费看| 无码人妻丰满熟妇区免费|