Leetcode 14 Longest Common Prefix
来源:互联网 发布:centos安装sftp 编辑:程序博客网 时间:2024/06/17 00:18
Write a function to find the longest common prefix string amongst an array of strings.
方法一:LCP(S1…Sn)=LCP(LCP(LCP(S1,S2),S3),…Sn)
第一种
public class Solution { public String longestCommonPrefix(String[] strs) { if (strs == null) return null; else if(strs.length == 0){ return ""; } else{ StringBuilder str = new StringBuilder(strs[0]); for (int i = 1; i < strs.length; i++){ str = new StringBuilder(prefix(str.toString(),strs[i])); } return str.toString(); } } public String prefix(String str1, String str2){ StringBuilder str = new StringBuilder(); for (int i = 0; i < str1.length() && i < str2.length(); i++){ if(str1.charAt(i) == str2.charAt(i)) str.append(str1.charAt(i)); else break; } return str.toString(); }}第二种
public class Solution{public String longestCommonPrefix(String[] strs) { if (strs.length == 0) return ""; String prefix = strs[0]; for (int i = 1; i < strs.length; i++) while (strs[i].indexOf(prefix) != 0) { prefix = prefix.substring(0, prefix.length() - 1); if (prefix.isEmpty()) return ""; } return prefix; }}方法二:分治法
public class Solution{public String longestCommonPrefix(String[] strs) { if (strs == null || strs.length == 0) return ""; return longestCommonPrefix(strs, 0 , strs.length - 1);}private String longestCommonPrefix(String[] strs, int l, int r) { if (l == r) { return strs[l]; } else { int mid = (l + r)/2; String lcpLeft = longestCommonPrefix(strs, l , mid); String lcpRight = longestCommonPrefix(strs, mid + 1,r); return commonPrefix(lcpLeft, lcpRight); }}String commonPrefix(String left,String right) { int min = Math.min(left.length(), right.length()); for (int i = 0; i < min; i++) { if ( left.charAt(i) != right.charAt(i) ) return left.substring(0, i); } return left.substring(0, min); }}
1 0
- LeetCode 14: Longest Common Prefix
- LeetCode(14) Longest Common Prefix
- LeetCode 14 Longest Common Prefix
- [leetcode 14] Longest Common Prefix
- leetcode 14-Longest Common Prefix
- [leetcode 14] Longest Common Prefix
- [Leetcode] 14 - Longest Common Prefix
- LeetCode | #14 Longest Common Prefix
- leetcode.14----------Longest Common Prefix
- leetCode #14 Longest Common Prefix
- leetcode-14 Longest Common Prefix
- leetcode 14 Longest Common Prefix
- Longest Common Prefix - LeetCode 14
- LeetCode 14 - Longest Common Prefix
- leetcode 14 -- Longest Common Prefix
- Longest Common Prefix leetcode 14
- Leetcode#14 Longest Common Prefix
- leetcode-14Longest Common Prefix
- Linux安全设置
- asm训练(纯小白文高手勿看)
- Java熟悉到陌生之线程之Thread
- Oralce GoldenGate与Kafka集群集成
- 报数去除集合中的元素
- Leetcode 14 Longest Common Prefix
- SSL Certificate[Let's Encrypt]
- linux文件操作
- N皇后问题(nQueue)、BackTracking、数据结构与算法分析
- 一个页面从输入url到页面加载显示完成,这个过程都发生了什么?
- 公正的选举Unbiased election 《算法》2.5.16, 检测稳定性 《算法》2.5.17 , 强制稳定 《算法》2.5.18, Kendall tau距离 《算法》2.5.19
- noip2016年初赛总结与反思
- XAMPP下通过pypmyadmin连接数据库出错问题及解决
- c 数据结构 顺序串