赞
踩
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 "";
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。