zoukankan      html  css  js  c++  java
  • 最长公共前缀

    此博客链接:

    最长公共前缀

    题目链接:

    题目

    编写一个函数来查找字符串数组中的最长公共前缀。

    如果不存在公共前缀,返回空字符串 ""。

    示例 1:

    输入:strs = ["flower","flow","flight"]
    输出:"fl"
    示例 2:

    输入:strs = ["dog","racecar","car"]
    输出:""
    解释:输入不存在公共前缀。
     

    题解

    找最长公共子序列,可以先取数组中的第一个单词(假设为最大公共子序列),然后把第一个和后面每个单词的每个字母逐步比较,如果有不相等的,就更新最大公共子序列的值。

    代码

    class Solution {
        public String longestCommonPrefix(String[] strs) {
          if(strs.length==0)
          {
              return "";
          }
          String res=strs[0];
          for(int i=1;i<strs.length;i++){
              int j=0;
              for(;j<res.length()&&j<strs[i].length();j++){
                  if(res.charAt(j)!=strs[i].charAt(j)){
                      break;
                  }
              }
              res=res.substring(0,j);
              if(res.equals(" ")){
                  return "";
              }
          }
          return res;
        }
    }

    结果

    注意点

    1.字符串取长度使用length时,后面需要添加小括号,而数组不需要小括号。

    2.java中对比两个字符串是否相等时,需要使用equals,这比较的是值是否相等,而在比较字符时,使用等号。

    出来混总是要还的
  • 相关阅读:
    DP(第三版(较简单))
    【テンプレート】洛谷
    【説明する】并查集
    第一篇博文
    cogs 2398 切糕 最小割
    cogs 1873 happiness 最大权闭合子图
    cogs 1274 最小截断 最小割唯一判定
    cogs 736 星际转移 最大流
    cogs 329 K-联赛 最大流
    cogs 2605 寒假ing
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/14911636.html
Copyright © 2011-2022 走看看