leetcode 14 Longest Common Prefix

lc 14 Longest Common Prefix

利用substring()&indexOf()可以大大减少代码量

思路如下:

每次求strs[i]和当前最长公共前缀pre(即0~i-1的公共前缀)的公共前缀

用indexOf()找第一次匹配上的位置

若返回值不为0,就将pre最后一位丢掉,这里用到substring(int start, int end)

若为0,则i++,比较下一个strs[i]和pre

 1 class Solution {
 2     public String longestCommonPrefix(String[] strs) {
 3         if(strs.length == 0)
 4             return "";
 5         String pre = strs[0];
 6         
 7         for(int i=1; i<strs.length; i++){
 8             while(strs[i].indexOf(pre) != 0)
 9                 pre = pre.substring(0, pre.length()-1);
10         }
11         return pre;
12     }
13 }

 

posted @ 2019-05-27 19:06  南山南北秋悲  阅读(106)  评论(0编辑  收藏  举报