LintCode 78:Longest Common Prefix
2024-10-14 17:09:29
public class Solution {
/**
* @param strs: A list of strings
* @return: The longest common prefix
*/
public String longestCommonPrefix(String[] strs) {
// write your code here
if(strs.length == 0){
return "";
}
String prefix = strs[0];
int i = 0;
int j = 0;
for ( i=1;i<strs.length;i++){
if(strs[i].length() == 0){
return "";
}
for( j=0;j<prefix.length();j++){
if(strs[i].charAt(j) != prefix.charAt(j)){
prefix = prefix.substring(0,j);
}
}
}
return prefix;
}
}
思路:
默认数组第一个是prefix,然后循环比较数组中的每一个字符串,直到不相等,返回substring即可,返回的substring一定是最长的公共前缀。
注:判断数组为空或者数组中有空字符串
时间复杂度:O(第一个字符串长度^2),java耗时1563 ms。
最新文章
- 洛谷11月月赛round.2
- 2、Runtime Area Data
- BI软件搞不定业务管理报表的需求
- 深入理解计算机系统(2.7)---二进制浮点数,IEEE标准(重要)
- mysql之旅【第一篇】
- 配置文件之SharedPreferences
- 30天,O2O速成攻略【7.25北京站】
- 【转】Java学习之Iterator(迭代器)的一般用法 (转)
- 第三方框架和ARC
- oracle监听无法启动
- 白夜追凶 :手 Q 图片的显示和发送逻辑
- 二叉搜索树 (BST) 的创建以及遍历
- 数据库 MYSQL操作(一)
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
- 在Derby中取得刚刚插入的“递增”类型的字段值
- MFC笔记5
- 安恒7月赛wp
- ARC基本原理
- Qt信号和槽连接方式的选择
- C++知识点 笔试常见
热门文章
- Java内部类与外部类的那些事
- 微信小程序技术分析:Mustache语法要点总结
- 二刷Cracking the Coding Interview(CC150第五版)
- html5——canva 绘图1简单图形
- NodeJS Addon 多线程
- java 文件保存到本地
- 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题
- ios语音识别
- 详解Java 8中Stream类型的“懒”加载
- 前端实现图片懒加载(lazyload)的两种方式