<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 小明 閱讀(1503) 評論(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;
        }
    主站蜘蛛池模板: 亚洲日本在线播放| 免费国产在线精品一区| 日本无吗免费一二区| www免费插插视频| 亚洲最大的视频网站| 国产成人免费a在线视频色戒| 国产精品永久免费视频| 亚洲成a人片在线观看播放| 亚洲 小说区 图片区 都市| 99久热只有精品视频免费观看17| 亚洲成人激情小说| 亚洲午夜久久久久妓女影院| 免费不卡视频一卡二卡| 久青草视频97国内免费影视| 亚洲va在线va天堂va手机| 亚洲欧洲日产国码无码久久99| 97在线线免费观看视频在线观看| 国产裸体美女永久免费无遮挡| 亚洲国产乱码最新视频| 日本亚洲欧洲免费天堂午夜看片女人员 | 免费一级毛片在线播放放视频| 亚洲第一成年男人的天堂| 免费人成年轻人电影| av大片在线无码免费| 两个人看的www免费视频| 色欲色欲天天天www亚洲伊| 亚洲高清视频在线播放| 亚洲综合色视频在线观看| 女人被男人桶得好爽免费视频 | 久久精品乱子伦免费| 老司机午夜精品视频在线观看免费| 亚洲精品视频在线播放| 亚洲情综合五月天| 亚洲av成人一区二区三区在线观看 | 亚洲最大免费视频网| 亚洲人成亚洲人成在线观看| 免费国产小视频在线观看| 最近中文字幕无吗高清免费视频| 亚洲国产精品免费视频| 中文在线免费观看| 五月天婷婷免费视频|