国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }}

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金溪县| 读书| 桂林市| 安达市| 大港区| 四会市| 井陉县| 博兴县| 万载县| 和龙市| 张家界市| 镇安县| 娄底市| 梅河口市| 隆林| 贡山| 崇左市| 吉木乃县| 晋州市| 佛山市| 鄂伦春自治旗| 岗巴县| 霞浦县| 新野县| 册亨县| 湄潭县| 石泉县| 南溪县| 百色市| 漳州市| 原平市| 工布江达县| 辽中县| 都江堰市| 阳新县| 类乌齐县| 麦盖提县| 东辽县| 临沭县| 罗源县| 鹤峰县|