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
.
大佬解答: http://www.cnblogs.com/grandyang/p/4606926.html
class Solution { public String longestCommonPrefix(String[] strs) { String res = ""; if(strs==null||strs.length==0) return ""; for(int j = 0; j< strs[0].length(); j++){ char c = strs[0].charAt(j); for(int i = 1; i<strs.length; i++){ if(j>strs[i].length()||c!=strs[i].charAt(j)){ return res; } } res += Character.toString(c); } return res; } }
class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length == 0) return ""; for(int i = 0; i < strs[0].length(); i++){//纵向扫描 char c = strs[0].charAt(i); for(int j = 1; j < strs.length; j++){ if(i == strs[j].length() || c != strs[j].charAt(i)) return strs[0].substring(0,i); } } return strs[0]; } }