国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

算法練習之從String.indexOf的模擬實現開始

2020-01-24 02:13:34
字體:
來源:轉載
供稿:網友

String.indexOf的模擬實現,沒想象中有多么高深的查找算法,就是最普通的遍歷查找

思路:先找到第一個相同的字符,然后依次比較后面的字符,若都相等則表示查找成功

/**    * 查找字符串pattern在str中第一次出現的位置    * @param str    * @param pattern    * @return    */   public int firstIndexOf(String str, String pattern) {     for (int i = 0; i < (str.length() - pattern.length()); i++) {       int j = 0;       while (j < pattern.length()) {         if (str.charAt(i + j) != pattern.charAt(j)) break;         j++;       }       if(j==pattern.length()) return i;     }     return -1;   }    /**    * 查找字符串pattern在str中最后一次出現的位置    * @param str    * @param pattern    * @return    */   public int lastIndexOf(String str, String pattern) {     for (int i = str.length() - pattern.length(); i >= 0; i--) {       int j = 0;       while (j < pattern.length()) {         if (str.charAt(i + j) != pattern.charAt(j)) break;         j++;       }       if (j == pattern.length()) return i;     }     return -1;   }    /**    * 查找字符串pattern在str中出現的位置    * @param str    * @param pattern    * @return    */   public List<Integer> indexOf(String str, String pattern) {     List<Integer> indexs = new ArrayList<Integer>();     for (int i = 0; i < (str.length() - pattern.length()); i++) {       int j = 0;       while (j < pattern.length()) {         if (str.charAt(i + j) != pattern.charAt(j)) break;         j++;       }       if (j == pattern.length()) indexs.add(i);     }     return indexs;   } 

同樣更常用的String.contains方法實際上就是調用的String.indexOf實現

/**    * 判斷字符串pattern在str中是否存在    * @param str    * @param pattern    * @return    */   public boolean contains(String str, String pattern) {     return firstIndexOf(str, pattern) != -1;   } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵川县| 名山县| 博野县| 界首市| 岑巩县| 朝阳区| 贵德县| 鲁山县| 海原县| 资兴市| 昌宁县| 同仁县| 陆良县| 富源县| 平和县| 将乐县| 曲麻莱县| 朝阳县| 山西省| 香河县| 陆川县| 霍林郭勒市| 砀山县| 福海县| 淮安市| 略阳县| 哈巴河县| 乐平市| 蒙山县| 白银市| 如皋市| 合肥市| 宁夏| 玛纳斯县| 镇江市| 凭祥市| 丹凤县| 嘉荫县| 文昌市| 茶陵县| 仪陇县|