给定一个String数组,找到最长的公共字符串
公共字符串,不会比最短的那个元素长;先令result = 第一个元素;后面慢慢判断
1 package com.rust.TestString; 2 3 public class LongestCommonPrefix { 4 public static String longestCommonPrefix(String[] strs) { 5 if (strs.length == 0) { 6 return ""; 7 } 8 String result = strs[0]; 9 if (result.length() == 0 ) { 10 return ""; 11 } 12 for (int i = 0; i < strs.length; i++) { 13 if (strs[i].length() == 0) { 14 return ""; 15 } 16 int preLen = result.length() > strs[i].length() ?strs[i].length() : result.length() ; 17 int j; 18 for (j = 0; j < preLen; j++) { 19 if (result.charAt(j) != strs[i].charAt(j)) { 20 break; 21 } 22 } 23 result = result.substring(0, j); 24 } 25 return result; 26 } 27 public static void main(String args[]){ 28 String[] input = {"abcdefghiaaaa","abcdefghiadfa","abcdefghifaf"}; 29 String[] input1 = {""}; 30 System.out.println(longestCommonPrefix(input)); 31 System.out.println(longestCommonPrefix(input1)); 32 } 33 }
时间: 2024-09-29 17:39:42