生命无罪,健康万岁,我是laity。
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
LeetCode第14题:最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,”flow”,”flight”]
输出:”fl”
示例 2:
输入:strs = [“dog”,”racecar”,”car”]
输出:””
解释:输入不存在公共前缀。
分析:遍历单个值竖向与其余元素的对应索引位置进行比较。都相等直接返回该元素本身;碰到不相等的返回前一位置;都不相等或为null时返回空字符串。
时间复杂度: O(n²)
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length == 0 && strs == null) {
return "";
}
int count = strs.length;
int length = strs[0].length();
for (int i = 0; i < length; i++) {
char c = strs[0].charAt(i);
for (int j = 1; j < count; j++) {
if (i == strs[j].length() || strs[j].charAt(i) != c) {
return strs[0].substring(0, i);
}
}
}
return strs[0];
}
}
全代码
public class LongestCommonPrefix {
public static String longestCommonPrefix(String[] strs) {
if (strs.length == 0 && strs == null) {
return "";
}
int count = strs.length;
int length = strs[0].length();
for (int i = 0; i < length; i++) {
char c = strs[0].charAt(i);
for (int j = 1; j < count; j++) {
if (i == strs[j].length() || strs[j].charAt(i) != c) {
return strs[0].substring(0, i);
}
}
}
return strs[0];
}
public static String longestCommonPrefix2(String[] strs) {
if (strs.length == 0 || strs == null) {
return "";
}
return "";
}
public static void main(String[] args) {
String[] strs = new String[]{"flask", "flower", "flow", "django"};
System.out.println(longestCommonPrefix(strs));
}
}
踏实,努力,你想要的,岁月统统都会给你。我是Laity,正在前行的Laity。
Original: https://blog.csdn.net/duyun0/article/details/127817828
Author: itLaity
Title: LeetCode第14题:最长公共前缀
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/654370/
转载文章受原作者版权保护。转载请注明原作者出处!