14. 最长公共前缀
解题思路
- 设置第一个字符串ans
- 遍历后面的字符串 依次和ans进行比较 然后计算两个字符串的公共前缀 那么需要比较最长公共前缀
- 针对每一个字符串 计算公共前缀 注意不能超过ans的长度
class Solution {
public String longestCommonPrefix(String[] strs) {
// 设置第一个字符串ans
// 遍历后面的字符串 依次和ans进行比较 然后计算两个字符串的公共前缀 那么需要比较最长公共前缀
// strs = ["flower","flow","flight"]
String ans = strs[0];
for(int i = 1; i < strs.length; i++){
// 针对每一个字符串 计算公共前缀
int j = 0;
// 注意不能超过ans的长度
for(j = 0; j < ans.length() && j < strs[i].length(); j++){
if(strs[i].charAt(j) != ans.charAt(j)){
break;
}
}
// 这里的j就是最长公共前缀的位置的前一个位置 然后字符串截取
// 更新ans
ans = ans.substring(0,j);
}
return ans;
}
}