当前位置:网站首页>最长公共前缀(leetcode题14)
最长公共前缀(leetcode题14)
2022-07-07 17:05:00 【KUIND_】
题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:“”
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
解题思路
常见的思路是去拿第一个String的第一个字符遍历看是否符合,符合就取出第一个String的第二个字符进行遍历
题解的解题思路是
先找到第一个String和第二个String的公共前缀,拿这个公共前缀同第三个字符串取公共前缀,依次遍历道最后一个元素
代码
class Solution4 {
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) {
return "";
}
String prefix = strs[0];
int count = strs.length;
//两两进行比较,拿到公共的前缀,拿到前缀同下一个字符串求公共前缀
for (int i = 1; i < count; i++) {
prefix = longestCommonPrefix(prefix, strs[i]);
if (prefix.length() == 0) {
break;
}
}
return prefix;
}
public String longestCommonPrefix(String str1, String str2) {
//先求出最小的遍历长度,取两个字符串的最小长度
int length = Math.min(str1.length(), str2.length());
int index = 0;
//从左到右依次比较,成功index++,失败则退出
while (index < length && str1.charAt(index) == str2.charAt(index)) {
index++;
}
//返回公共前缀字符串
return str1.substring(0, index);
}
}
测试代码
public static void main(String[] args) {
Solution4 solution4 = new Solution4();
String[] strs = {
"dog", "racecar", "car"};
System.out.println(solution4.longestCommonPrefix(strs));
}
边栏推荐
- 手把手教姐姐写消息队列
- 【HDU】5248-序列变换(贪心+二分)「建议收藏」
- PV静态创建和动态创建
- 2022.07.04
- Standard ACL and extended ACL
- App capture of charles+postern
- [Blue Bridge Cup training 100 questions] sort scratch from small to large. Blue Bridge Cup scratch competition special prediction programming question centralized training simulation exercise question
- Redis
- Pasqal首席技术官:模拟量子计算率先为工业带来量子优势
- 线程池的拒绝策略
猜你喜欢
Kirk borne's selection of learning resources this week [click the title to download directly]
【塔望方法论】塔望3W消费战略 - U&A研究法
Borui data was selected in the 2022 love analysis - Panoramic report of it operation and maintenance manufacturers
Complete e-commerce system
2022上半年朋友圈都在传的10本书,找到了
Numpy——axis
Creative changes brought about by the yuan universe
Mathematical analysis_ Notes_ Chapter 11: Fourier series
I feel cheated. Wechat tests the function of "size number" internally, and two wechat can be registered with the same mobile number
Nat address translation
随机推荐
Rules for filling in volunteers for college entrance examination
学习open62541 --- [67] 添加自定义Enum并显示名字
【Base64笔记】「建议收藏」
ES6笔记一
In the first half of 2022, I found 10 books that have been passed around by my circle of friends
Initial experience of cache and ehcache "suggestions collection"
RISCV64
"Decryption" Huawei machine vision Corps: Huawei is moving up and the industry is moving forward
从39个kaggle竞赛中总结出来的图像分割的Tips和Tricks
POJ 1182 :食物链(并查集)[通俗易懂]
PTA 1101 B是A的多少倍
2022上半年朋友圈都在传的10本书,找到了
Standard ACL and extended ACL
LeetCode 497(C#)
Charles+drony的APP抓包
2022.07.04
First time in China! The language AI strength of this Chinese enterprise is recognized as No.2 in the world! Second only to Google
How to implement safety practice in software development stage
Numpy——axis
Where does brain hole come from? New research from the University of California: creative people's neural connections will "take shortcuts"