leetcode-14-最长公共前缀
2017-11-23 18:31
399 查看
Write a function to find the longest common prefix string amongst
an array of strings.
题意为编写一个函数来查找字符串数组中最长的公共前缀字符串。
这道题并不难想,首先对传入的字符串数组进行排序,然后只需要对比第一个与最后一个字符串,即可得到最长公共前缀了。
代码:
import java.util.Arrays;
import java.util.Scanner;
public class leetcode14 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
leetcode14 lt = new leetcode14();
String [] strs = new String[5];
for (int i = 0; i < 5; i ++){
strs[i] = input.next();
}
System.out.println(lt.longestCommonPrefix(strs));
}
//AC!!
public String longestCommonPrefix(String[] strs) {
String ans;
if (strs != null && strs.length >0) { //防止坑爹情况
int num = 0;
Arrays.sort(strs); // 给数组排序
char[] one = strs[0].toCharArray();
char[] end = strs[strs.length - 1].toCharArray();
//取第一个和最后一个字符串进行比较
for (int i = 0; i < one.length; i++) {
if (one[i] == end[i])
num++;
else
break;
}
//如果第一个字符都不相等,那就return"";
if (num == 0) {
return "";
}
//变成String类型返回
char[] temp = new char[num];
for (int i = 0; i < num; i++) {
temp[i] = one[i];
}
ans = String.valueOf(temp);
return ans;
}
return "";
}
}
an array of strings.
题意为编写一个函数来查找字符串数组中最长的公共前缀字符串。
这道题并不难想,首先对传入的字符串数组进行排序,然后只需要对比第一个与最后一个字符串,即可得到最长公共前缀了。
代码:
import java.util.Arrays;
import java.util.Scanner;
public class leetcode14 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
leetcode14 lt = new leetcode14();
String [] strs = new String[5];
for (int i = 0; i < 5; i ++){
strs[i] = input.next();
}
System.out.println(lt.longestCommonPrefix(strs));
}
//AC!!
public String longestCommonPrefix(String[] strs) {
String ans;
if (strs != null && strs.length >0) { //防止坑爹情况
int num = 0;
Arrays.sort(strs); // 给数组排序
char[] one = strs[0].toCharArray();
char[] end = strs[strs.length - 1].toCharArray();
//取第一个和最后一个字符串进行比较
for (int i = 0; i < one.length; i++) {
if (one[i] == end[i])
num++;
else
break;
}
//如果第一个字符都不相等,那就return"";
if (num == 0) {
return "";
}
//变成String类型返回
char[] temp = new char[num];
for (int i = 0; i < num; i++) {
temp[i] = one[i];
}
ans = String.valueOf(temp);
return ans;
}
return "";
}
}
相关文章推荐
- LeetCode 14 Longest Common Prefix(最长公共前缀)
- LeetCode 14 Longest Common Prefix(最长公共前缀)
- LeetCode 14 Longest Common Prefix(最长公共前缀)(String)
- LeetCode - 14. 最长公共前缀
- leetcode-14-求字符串数组最长公共前缀
- leetcode——14——Longest Common Prefix最长公共前缀
- LeetCode 14. 最长公共前缀
- [C++]LeetCode 14: Longest Common Prefix(最长公共前缀)
- LeetCode-14-Longest Common Prefix(最长公共前缀)
- LeetCode Longest Common Prefix 最长公共前缀
- LeetCode | Longest Common Prefix(最长公共前缀)
- Leetcode#14. Longest Common Prefix (最长公共前缀字符串)
- LeetCode--14. Longest Common Prefix(最长公共前缀子串)
- [leetcode] Longest Common Prefix 字符窜最长公共前缀判断
- [LeetCode]32. Longest Common Prefix最长公共前缀
- LeetCode 14 Longest Common Prefix 最长前缀
- leetcode-最长公共前缀
- [转][LeetCode]Longest Common Prefix ——求字符串的最长公共前缀
- LeetCode-14-Longest-Common-Prefix 求若干字符串的最大公共前缀
- Lettcode_14_Longest Common Prefix——查找字符串数组中最长公共前缀字符串