標籤:
給定一個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 }
尋找最長的共同首碼