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

首頁 > 學院 > 開發設計 > 正文

leetCode之路——Longest Common Prefix

2019-11-06 06:44:51
字體:
來源:轉載
供稿:網友

題目要求:給一個字符數組,求這個數組的最長公共前綴。 思路:首先判斷這個字符串數組是否為空,若為空則返回空字符串。然后查找這個字符串數組中最短字符串的長度,之后遍歷這個數組,如果這個字符是公共前綴則加入到結果字符串中,繼續遍歷,否則返回當前結果字符串。 貼上代碼:

package leetcode;public class LongestCommonPRefix14 { public static void main(String[] args) { Solution_LCP solu = new Solution_LCP(); String[] strs = {"abca","abc"}; System.out.println(solu.longestCommonPrefix(strs)); }}class Solution_LCP { public String longestCommonPrefix(String[] strs) { int len=strs.length,i=0,min=Integer.MAX_VALUE,j=0; //len為數組長度,i為數組下標,j為數組元素字符串的定位,min為數組中最短的字符串長度 String result="";//result用來接收結果字符串 if(len==0)return result;//如果是空字符數組,則返回空字符串 for(;i<len;i++)//查找字符串數組中最短字符串的長度 { if(strs[i].length()<min)min=strs[i].length(); } //System.out.println("min="+min+" len="+len); while(j<min)//遍歷這個字符串 { i=0;//歸零 while(i<len-1)//遍歷這個字符串數組 { if(strs[i].charAt(j)!=strs[i+1].charAt(j)) return result;//如果有一個不等的字符,則返回result i++; } result+=strs[i].charAt(j);//這個字符是公共前綴,則加入到結果中 //System.out.println(result); j++; } return result; }}

總結:從問題中分析規律,首先要考慮特殊情況,以防止數組越界!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 来宾市| 天台县| 宁阳县| 梁平县| 本溪| 三原县| 东乡县| 通化县| 紫金县| 赫章县| 奎屯市| 突泉县| 灯塔市| 莆田市| 昭苏县| 岳池县| 舞阳县| 加查县| 黄陵县| 濉溪县| 衡水市| 百色市| 全椒县| 凯里市| 栾川县| 鄂托克旗| 锡林浩特市| 都安| 全州县| 班戈县| 策勒县| 松桃| 中西区| 云林县| 康马县| 云和县| 浦江县| 永修县| 抚宁县| 容城县| 宝鸡市|