
问题:14. Longest Common Prefix
1 2 3 4 5 6 7 8 9 10 11 12 13
|
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.
|
leetcode地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
public class Leetcode14 {
public static String longestCommonPrefix(String[] strs) { if (null == strs || strs.length == 0) { return ""; }
if (strs.length == 1) { return strs[0]; }
String maxSub = sub(strs[0], strs[1]); if ("".equals(maxSub)) { return ""; } for (int i = 1; i < strs.length; i++) { maxSub = sub(maxSub, strs[i]); if ("".equals(maxSub)) { return ""; } } return maxSub; }
/** * 获取公共前缀 * @param s1 * @param s2 * @return */ private static String sub(String s1, String s2) { int len = Math.min(s1.length(), s2.length()); StringBuffer sb = new StringBuffer(); for (int i = 0; i < len; i++) { if (s1.charAt(i) == s2.charAt(i)) { sb.append(s1.charAt(i)); continue; } break; } return sb.toString(); }
public static void main(String[] args) { System.out.println(longestCommonPrefix(new String[] {"aca","cba"})); } }
|
近期评论