LeetCode---14.最长公共前缀(java实现)
程序员文章站
2024-02-24 22:51:22
...
题目来源:https://leetcode-cn.com/problems/longest-common-prefix/description/
题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
代码如下:
class Solution {
public String longestCommonPrefix(String[] strs) {
//公共前缀字符串的长度
int index = 0;
//如果字符串数组长度为零,则返回""
if (strs.length == 0) {
return "";
}
//外层for循环是遍历字符串数组中第一个字符串的每个字符
for (int i = 0; i < strs[0].length(); i++) {
//得到第一个字符串的第i个字符
char current = strs[0].charAt(i);
//内层foreach循环是拿current与每个字符串的第i个字符进行比较
for (String str : strs) {
//比较过程中发现有不相等字符,或者有某个字符串的长度达到了i。
//则停止比较,返回第一个字符串中的公共部分,即(0,index)
if (str.length() == i || current != str.charAt(i)) {
return str.substring(0, index);
}
}
index++;
}
return strs[0].substring(0, index);
}
}
上一篇: ZOJ 3961-Let's Chat
下一篇: 14 最长公共前缀