算法------------ 最长公共前缀
题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]
输出: "fl"
示例 2:输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:所有输入只包含小写字母 a-z 。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
我的解决方法:
class Solution {public String longestCommonPrefix(String[] strs) {if (strs == null || strs.length == 0) {return "";}if (strs.length == 1){return strs[0];}String str = strs[0];StringBuffer sb = new StringBuffer();out : for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);for (int j = 1; j < strs.length; j++) {if (i >= strs[j].length()) {break out;}if (c != strs[j].charAt(i)) {break out;}}sb.append(c);}return sb.toString();}
}
网上的解决方法:
class Solution {public String longestCommonPrefix(String[] strs) {if(strs==null || strs.length<1){return "";}if(strs.length==1){return strs[0];}//find the shortest stringint shortest=0;int len=strs[0].length();for (int i = 0; i < strs.length; i++) {if(len > strs[i].length()){len=strs[i].length();shortest=i;}}//find the longest common prefixString sub=strs[shortest];for (int i = 0; i < strs.length; i++) {while(strs[i].indexOf(sub)!=0){sub=sub.substring(0, sub.length()-1);}// 这里我优化了一下,如果是空字符串,没必要再循环了。if (sub.equals("")) {break;}}return sub;}
}
总结:
练习算法有长进,学到了东西,写代码,就写最优的。
算法------------ 最长公共前缀相关推荐
- 五、Leetcode算法 最长公共前缀
1.题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 输入: ["flower","flow" ...
- 【每日一算法】最长公共前缀
微信改版,加星标不迷路! 每日一算法-最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["fl ...
- 采用分治算法迭代计算最长公共前缀问题(python)
题目 采用分治算法迭代计算最长公共前缀问题(python) 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串"". 示例 1: 输入:strs = ...
- python【力扣LeetCode算法题库】14-最长公共前缀(列表解压)
最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","fl ...
- 【最长公共前缀】算法优化笔记
题目:编写一个函数来查找字符串数组中的最长公共前缀.如果不存在公共前缀,返回空字符串 "". 示例 1:输入: ["flower","flow&quo ...
- 【数据结构与算法】之深入解析“最长公共前缀”的求解思路与算法示例
一.题目要求 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入:strs = ["flower",&q ...
- 算法题---最长公共前缀
题目来源:https://leetcode-cn.com/problems/longest-common-prefix/ 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符 ...
- 52 - 算法- leetcode 14 最长公共前缀
// leetcode 14 最长公共前缀 str.sub(index1,index2)这个函数不清楚 // for(vector中的类class : vector) for 循环中的index 和 ...
- 刻意练习:LeetCode实战 -- Task14. 最长公共前缀
背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...
最新文章
- 结合JDK源码看设计模式——策略模式
- 获取AD用户和OU属性字段名称
- 计算机也可以看“视频”,理解“视频”
- python如何使用图片做背景_用Python批量给照片换底色,基于opencv模块
- 微信订阅号开发笔记(三)
- Java开发利器:IntelliJ IDEA的安装、配置与使用
- 【数据结构与算法】快排、归并 O(nlogn) 基于比较
- android studio安装部署及sdk下载_「从零开始Python爬虫」1.7.3 APPium的安装
- Linux内核加载全流程
- 基于pyqt5的Demo软件开发
- Excel 各版本每个sheet 最大行数限制
- 模式识别属于计算机科学吗,模式识别与智能系统这个学科属于什么类?
- 背景图片,banner图片随屏幕大小变化而变化
- python布尔系列_python-布尔运算
- PhysX官方手册翻译
- 5.Python格式化输出
- 棋牌---这些年使用过的技术
- POI和EasyExcel实现Excel数据批量读取到数据库
- sed 第n行后加入_sed详解
- 2.5单星和双星运算符的作用
热门文章
- C#调用非托管C++DLL:通过托管C++DLL间接调用
- ViSP中识别AprilTag的C++实例代码解释
- MFC_Combo_Box(组合框)的详细用法
- python 日志 装饰器_【Python】装饰器实现日志记录
- python的变量对大小写并不敏感_Robot Framework 内置变量
- enq: tt - contention_要签TT或伊巴卡?湖人要走一步大棋,大肆招揽老将,为老詹真拼...
- live555点播服务器流程深入分析(一)
- mydumper 0.6.2 安装,dba的必备备份工具,必须掌握
- #include quot;*.cquot;文件的妙用
- JS 触发服务器事件