diff --git a/src/main/java/com/example/demo/arraySeries/MaxLengthStr.java b/src/main/java/com/example/demo/arraySeries/MaxLengthStr.java new file mode 100644 index 0000000..01a37cd --- /dev/null +++ b/src/main/java/com/example/demo/arraySeries/MaxLengthStr.java @@ -0,0 +1,62 @@ +package com.example.demo.arraySeries; + +/** + * 最长公共前缀 + * 说明: + * 1. 所有输入只包含小写字母 a-z + * 2. 如果不存在公共前缀,则返回"" + */ +public class MaxLengthStr { + + public static String longestCommonPrefix(String[] strs) { + if (strs == null || strs.length == 0) { + return ""; + } + String prefix = strs[0]; + int count = strs.length; + for (int i = 1; i < count; i++) { + prefix = longestCommonPrefix(prefix, strs[i]); + if (prefix.length() == 0) { + break; + } + } + return prefix; + } + + public static String longestCommonPrefix(String str1, String str2) { + int length = Math.min(str1.length(), str2.length()); + int index = 0; + while (index < length && str1.charAt(index) == str2.charAt(index)) { + index++; + } + return str1.substring(0, index); + } + + public static String demo(String[] strs){ + + if(strs == null || strs.length == 0){ + return ""; + } + String prefix = strs[0]; + String outStr = ""; + for (int i =0; i