zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    geoserver显示shapefile中汉字呈乱码问题的可选解决方案
    C++回调函数示例
    也谈谈技术面试
    轻快好的c++实践
    向 Hacker 迈进 我的书单
    CMake是个好东西
    工作之中总有几日不在状态_你是怎样度过的?
    我是如何从煤矿工成为程序员的
    java多线程系列_用Thread类创建线程(2)
    java多线程系列_使用Runnable接口创建线程(3)
  • 原文地址:https://www.cnblogs.com/pkuYang/p/4220870.html
Copyright © 2011-2022 走看看