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

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

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

    ALL is Well!

    敏捷是一條很長的路,摸索著前進著

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      30 隨筆 :: 23 文章 :: 71 評論 :: 0 Trackbacks

    題目要求:

    用Java設計一個程序,實現一個字符串的對稱個數,如字符串"effeghg",有"ff","effe","ghg"這三個對稱字符,所以返回3.

     

    我實現的思路就是遍歷這個字符串,

    先選定頭位置為第一個字符,然后從最后向前遍歷這個字符串,

    頭尾兩個字符相同,則取中間字符串,進行遞歸。

    遞歸結束后得到結果,

    繼續將頭向后推1位,然后再從字符串最后向前遍歷,

    如此循環,當尾等于頭時,退出最外層循環,輸出結果。

     

    具體實現:

    /** 
     * 
    @author bzwm 
     *  
     
    */
     
    public class FindSymmetryStr 
        
    /** 
         * 找出字符串中對稱的子字符串的個數 
         * 
    @param orgStr 
         * 
    @return 
         
    */
     
        
    public static int findSymmetryStr(String orgStr) 
            
    //結果初始化 
            int count = 0

            
    //當輸入字符串不為null且長度大于1時進行查找,否則直接返回0 
            if (orgStr != null && orgStr.length() > 1
                
    //得到輸入字符串的長度 
                int size = orgStr.length(); 
                
    //字符串的頭字符索引 
                int head; 
                
    //字符串從后向前遍歷時的"尾"字符索引,即當前字符索引 
                int current; 
                
    //字符串的頭字符 
                char hStr; 
                
    //字符串從后向前遍歷時的"尾"字符 
                char cStr; 

                
    //從前開始遍歷字符串 
                for (head = 0; head < size; head++
                    
    //取得頭字符 
                    hStr = orgStr.charAt(head); 
                    
    //指向輸入字符串的最后 
                    current = size - 1
                    
    //當尾字符索引等于頭字符索引時退出循環 
                    while (current > head) 
                        
    //取得尾字符 
                        cStr = orgStr.charAt(current); 
                        
    //如果頭尾字符相等,則繼續判斷 
                        if (hStr == cStr) 
                            
    //取出頭尾中間的子字符串,對其進行分析 
                            String newStr = orgStr.substring(head + 1, current); 
                            
    //如果此子字符串的長度大于1,則進行遞歸 
                            if (newStr.length() > 1
                                
    //遞歸得到此子字符串中對稱的字符串個數 
                                count += findSymmetryStr(newStr); 
                            
    //如果此子字符串只有1個或0個字符,則表明原頭尾字符和此單個字符組成對稱字符串 
                            else 
                                count
    ++
                            
    //將尾字符索引向前推1位 
                            current--

                        }
     
                        
    //如果頭尾字符不相等,則將尾字符索引向前推1位 
                        else 
                            current
    --
                        }
     
                    }
     
                }
     
            }
     

            
    return count; 
        }
     

        
    //測試程序 
        public static void main(String args[]) 
            
    int count = findSymmetryStr("cddcbcbeffeghg");// 
            System.out.println("symmetry string count is : " + count); 
        }
     
    }


    ----2008年12月22日
    posted on 2010-09-01 11:13 李 明 閱讀(2202) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲精华国产精华精华液好用| 一级看片免费视频| 免费看小12萝裸体视频国产 | 国产亚洲精品美女| 黑人精品videos亚洲人| 一个人在线观看视频免费| 一本大道一卡二大卡三卡免费| 久久久久亚洲AV成人片| 四虎影视在线永久免费观看| 国产午夜精品免费一区二区三区| 四虎必出精品亚洲高清| 国产V亚洲V天堂无码久久久| 女人让男人免费桶爽30分钟| 99re6在线精品免费观看| 亚洲色中文字幕在线播放| 亚洲精品无码高潮喷水在线| 黄a大片av永久免费| 先锋影音资源片午夜在线观看视频免费播放| 在线观看日本亚洲一区| 亚洲成人激情在线| 亚洲性久久久影院| 成人免费视频软件网站| 久久久久免费看黄a级试看| 免费精品国产自产拍在线观看 | 中文字幕在线观看亚洲视频| 国产精品亚洲片在线观看不卡 | 美女露隐私全部免费直播| 亚洲欧洲日产国码在线观看| 国产亚洲?V无码?V男人的天堂| 四虎国产精品免费久久| 久久精品电影免费动漫| 一本一道dvd在线观看免费视频 | 亚洲一区在线视频观看| 精品亚洲一区二区| 亚洲国产午夜中文字幕精品黄网站| 人妻视频一区二区三区免费| 99热免费在线观看| a级毛片免费播放| 国产精品免费一区二区三区| 色欲aⅴ亚洲情无码AV| 亚洲入口无毒网址你懂的|