<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 李 明 閱讀(2206) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 99久9在线|免费| 色噜噜的亚洲男人的天堂| 中文字幕成人免费高清在线视频 | 一级特黄特色的免费大片视频| 免费无码黄网站在线观看| 亚洲成a人片在线观看中文app | 少妇人妻偷人精品免费视频| 亚洲熟妇中文字幕五十中出| 99精品视频免费| 久久亚洲一区二区| 91大神免费观看| 亚洲成电影在线观看青青| 2021免费日韩视频网| 亚洲最大的黄色网| 日韩免费视频播播| 日韩大片在线永久免费观看网站| 全亚洲最新黄色特级网站 | 亚洲另类激情专区小说图片| 精品无码一级毛片免费视频观看| 亚洲熟妇无码另类久久久| 色欲色香天天天综合网站免费| 666精品国产精品亚洲| 在线观看免费人成视频色| 亚洲精品女同中文字幕| 亚洲乱码中文字幕手机在线| a级毛片在线免费| 亚洲天堂中文字幕在线观看| 日本特黄特黄刺激大片免费| 一本久久免费视频| 亚洲永久永久永久永久永久精品| 日本阿v免费费视频完整版| 日韩色日韩视频亚洲网站| 亚洲中文久久精品无码| 永久黄色免费网站| 欧美激情综合亚洲一二区| 污视频在线观看免费| 国产成人亚洲精品| 国产美女亚洲精品久久久综合| 免费人妻无码不卡中文字幕系| 亚洲av最新在线观看网址| 国产亚洲3p无码一区二区|