题目链接:https://leetcode.com/problems/longest-common-prefix/
解题思路:
找字符串数字里,最长的相同前缀字符串。
1、首先判断这些字符数组里面,找字符串最短的那个length。
2、两层循环,第一层循环index走每个字符串,第二层循环走字符数组。挨个遍历,只要后面字符串里一旦出现不等的就返回。
先固定走每个字符串的第一个字符,一旦出现不等的,就直接返回res,否则知道遍历结束,把这个字符填进去。
1 class Solution { 2 3 private int Minlen(String[] str) 4 { 5 int min = Integer.MAX_VALUE; 6 7 for(int i=0;i<str.length;i++) 8 { 9 min = Math.min(min,str[i].length()); 10 } 11 return min; 12 13 } 14 public String longestCommonPrefix(String[] strs) { 15 16 if(strs ==null || strs.length==0) 17 return ""; 18 19 int len = Minlen(strs); 20 StringBuilder res = new StringBuilder(); 21 int index =0; 22 23 while(index<len)//数组中的每个字符串 24 { 25 for(int i=1;i<strs.length;i++) 26 { 27 if(strs[i].charAt(index)!=strs[0].charAt(index)) 28 return res.toString(); 29 } 30 res.append(strs[0].charAt(index)); 31 index++; 32 } 33 return res.toString(); 34 35 36 37 } 38 }