问题描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
解答
class Solution { public String longestCommonPrefix(String[] strs) { int len = strs.length; if(strs.length == 0)return ""; int[] lens = new int[len]; int min = strs[0].length(); for(int i=0;i<len;i++){ lens[i] = strs[i].length(); if(min > lens[i])min = lens[i]; } if(min == 0)return ""; StringBuilder res = new StringBuilder(); for(int i=0;i<min;i++){ char temp = strs[0].charAt(i); for(String j:strs){ if(temp != j.charAt(i))return res.toString(); } res.append(temp); } return res.toString(); } }