Longest Common Prefix 字符串数组中查找最长相同前缀字符串@LeetCode
来源:互联网 发布:剑灵男捏脸数据导入图 编辑:程序博客网 时间:2024/06/05 20:15
package Level2;import java.util.Arrays;/** * Longest Common Prefix * * Write a function to find the longest common prefix string amongst an array of strings. * */public class S14 {public static void main(String[] args) {String[] strs = {"bc", "bcaddf", "bca"};System.out.println("->" + longestCommonPrefix(strs));}public static String longestCommonPrefix(String[] strs) {if(strs.length == 0){return "";}int minLen = strs[0].length();int minIndex = 0;// 先找出最小长度的stringfor(int i=0; i<strs.length; i++){if(strs[i].length() < minLen){minLen = strs[i].length();minIndex = i;}}String s = strs[minIndex];int endIndex = s.length();int i;// 暴力法查找while(endIndex > 0){String sub = s.substring(0, endIndex);for(i=0; i<strs.length; i++){if(!strs[i].substring(0, endIndex).equals(sub)){break;}}if(i == strs.length){break;}else{endIndex--;}}return s.substring(0, endIndex);}}
Rewrite:
public String longestCommonPrefix(String[] strs) { if(strs.length == 0){ return ""; } String first = strs[0]; int i, j; boolean match = true; for(i=0; i<first.length() && match; i++){ for(j=0; j<strs.length; j++){ if(i>=strs[j].length() || strs[j].charAt(i)!=first.charAt(i)){ match = false; break; } } if(!match){ return first.substring(0,i); } } return first.substring(0,i); }
public class Solution { public String longestCommonPrefix(String[] strs) { int len = strs.length; if(len == 0) { return ""; } int minLen = strs[0].length(); String minStr = strs[0]; for(int i=0; i<len; i++) { if(strs[i].length() < minLen) { minLen = strs[i].length(); minStr = strs[i]; } } for(int i=0; i<minLen; i++) { char c = minStr.charAt(i); for(int j=0; j<len; j++) { if(strs[j].charAt(i) != c) { return minStr.substring(0, i); } } } return minStr; }}
- Longest Common Prefix 字符串数组中查找最长相同前缀字符串@LeetCode
- LeetCode 14. Longest Common Prefix 找字符串数组最长相同前缀
- leetcode 14. Longest Common Prefix-最长前缀|字符串
- Leetcode#14. Longest Common Prefix (最长公共前缀字符串)
- longest-common-prefix 求字符串数组的最长公共前缀
- Longest Common Prefix 获取字符串数组最长共同前缀
- leetcode_14. Longest Common Prefix 求字符串数组中所有字符串的最长前缀
- leetcode-14. Longest Common Prefix(寻找字符串数组最长公共前缀)
- LeetCode 14. Longest Common Prefix--字符串数组元素的最长公共前缀
- Longest Common Prefix(最长相同前缀)
- Longest Common Prefix字符串最长公共前缀问题
- LeetCode14 Longest Common Prefix 确定最长的前缀字符串
- 14. Longest Common Prefix最长公共字符串前缀
- LeetCode Longest Common Prefix 最长前缀
- Leetcode:Longest Common Prefix 最长公共前缀
- LeetCode 14 Longest Common Prefix 最长前缀
- (LeetCode)Longest Common Prefix --- 最长公共前缀
- leetcode Longest Common Prefix不同字符串的公共前缀
- java JNI 实现原理 (二) Linux 下如何 load JNILibrary
- Linux命令md5sum
- 面试技巧 - 怎样让candidate更多的谈论他们失败的项目。
- ZOJ2112 Dynamic Rankings 线段树+平衡树
- Sum Root to Leaf Numbers 求所有二叉树根到叶子节点路径之和 @LeetCode
- Longest Common Prefix 字符串数组中查找最长相同前缀字符串@LeetCode
- java JNI 实现原理 (三) JNI中的RegisterNatives方法
- 博弈论
- 每天在进步--如何使用div+css
- 阿里巴巴参谋长曾鸣全面深入阐释:何谓互联网的本质?
- 自己无聊做的一个简单的企业进销存管理系统
- 人肉搜索网上泄题者
- Java Socket编程
- jQuery .width(value)