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: strs = ["flower","flow","flight"] Output: "fl"
Example 2:
Input: strs = ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.
很聪明的做法,先假设第一个string是Longest Common Prefix, 跟后面的string一个一个对比,不match就删除最后一个字符,until it matches。
- class Solution {
- public String longestCommonPrefix(String[] strs) {
- String pre = strs[0];
-
- for(int i = 1; i < strs.length; i++){
- while(!strs[i].startsWith(pre)){
- pre = pre.substring(0, pre.length() - 1);
- }
- }
-
- return pre;
- }
- }