14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string "".
Example 1: Input: ["flower","flow","flight"] Output: "fl" Example 2: Input: ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.
Note:
All given inputs are in lowercase letters a-z.
難度:easy
題目:
寫方法從一字串陣列中找出最長公共字首,如果沒則返回空字串。
所有給出的輸入字串都由小寫字母組成。
Runtime: 5 ms, faster than 79.60% of Java online submissions for Longest Common Prefix.
public class Solution { public String longestCommonPrefix(String[] strs) { if (strs.length < 1) { return ""; } int minStrLen = strs[0].length(), minIdx = 0; for (int i = 0; i < strs.length; i++) { if (minStrLen > strs[i].length()) { minStrLen = strs[i].length(); minIdx = i; } } String prefix = strs[minIdx]; for (int i = 0; i < strs.length; i++) { for (int j = 0; j < prefix.length() && j < strs[i].length(); j++) { if (prefix.charAt(j) != strs[i].charAt(j)) { prefix = prefix.substring(0, j); break; } } } return prefix; } }