14. Longest Common Prefix【leetcode】
14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
寻找一个数组中最长的公共前缀
例如["baaa","caaabbb","aaaa"]输出“aaa”
结题思路:
- 判断非空的情况在进行计算
- 取第一个字符串最为标杆进行对比,因为最终结果一定在第一位中
- 用第一个串进行逐个对比出最长的串
public class Solution { public String longestCommonPrefix(String[] strs) { if(strs==null || strs.length==0) return ""; String pr= strs[0]; for(int i =1;i<strs.length;i++){ //用j计算最长串的长度 int j=0; while(j<pr.length()&&j<strs[i].length()&&pr.charAt(j)==strs[i].charAt(j)){ j++; } if(j==0){ return ""; } pr =pr.substring(0,j); } return pr; } }
注意:看到网上有帖子说进行排序,然后对比第一个和最后一个的公共序列,这样是不对的,因为如果中间的串没有公共序列时,返回结果错误
不积跬步无以至千里,千里之堤毁于蚁穴。
你是点滴积累成就你,你的丝丝懒惰毁掉你。
与诸君共勉