首页 > 代码库 > leetcode------Longest Common Prefix
leetcode------Longest Common Prefix
这一段一直忙考试,一直没有刷题,今天上来刷三道题感觉生疏起来了。。罪过啊。刷到今天了。。还是没有写算法的感觉,还是写代码太少了。java的用法又忘记了很多。java上手后就要开始写python了,反正现在就是没有写代码的感觉。
题目: | Longest Common Prefix |
通过率: | 26.5% |
难度: | 简单 |
Write a function to find the longest common prefix string amongst an array of strings.
这道题目我拿到手后没有看明白,我以为是让求这么多字符串的LCS最长公共子序列,但是又感觉LCS作为简单难度的题目是不可能的啊。我翻译了一下,发现是求最长公共前缀,这道题我的思路就是一个一个去比较,迭代的去找最长公共前缀,从第一个到最后一个,需要注意的是边界问题,把第0个位置的字符串当做默认的最长前缀然后与后面的进行比较然后重新给 最长前缀赋值,这样一趟下来刚好正确,第二个要注意的就是字符串的求长度和字符串数组的求长度函数 length和length()的用法,下面直接看代码:
1 public class Solution { 2 public String longestCommonPrefix(String[] strs) { 3 int midlen=0; 4 int j=0; 5 if(strs.length==0)return ""; 6 String tmp=strs[0]; 7 for(int i=1;i<strs.length;i++){ 8 if(tmp.length()==0||strs[i].length()==0) 9 return "";10 11 midlen= tmp.length() < strs[i].length() ? tmp.length() : strs[i].length();12 13 for(j=0;j<midlen;j++){14 if(tmp.charAt(j)!=strs[i].charAt(j))15 break;16 17 }18 tmp=tmp.substring(0, j);19 midlen=j;20 }21 22 return tmp;23 }24 25 }
leetcode------Longest Common Prefix
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。