zoukankan      html  css  js  c++  java
  • LeetCode题解No14——“最长公共前缀”

    LeetCode题解

    No94

    难度:Easy

    题目描述:

    /*
    编写一个函数来查找字符串数组中的最长公共前缀。
    
    如果不存在公共前缀,返回空字符串 ""。
    
    示例 1:
    
    输入: ["flower","flow","flight"]
    输出: "fl"
    示例 2:
    
    输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/longest-common-prefix
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    */
    

    题目思路

       本题比较简单,两重循环去套就可以,先想清楚思路,首先最长公共前缀,那么满足每一个字符串的匹配,那取第一个字符串当做模板,从他里面取出每一个字符进行比较,随后的字母如果有不匹配的,直接返回ans即可。如果i大于strs[j]的长度,也没有必要再比较,直接返回即可

    代码执行

    public class No14 {
       public static void main(String[] args) {
           String[] arr = {"fff","fss","f23"};
           String ans = longestCommonPrefix(arr);
           System.out.println(ans);
       }
       // 按行搜索
       public static String longestCommonPrefix(String[] strs) {
           // 特判
           int n = strs.length;
           if (n == 0){
               return "";
           }
           // 用一个StringBuffer来存放答案,方便后序的字母的添加
           StringBuffer ans = new StringBuffer();
           for (int i = 0; i < strs[0].length(); i++) {
               // 用一个cur来存放当前的一个字符
               char cur = strs[0].charAt(i);
               for (int j = 1; j < n; j++) {
                   // 判断一个终止条件
                   // 如果当前字符串的长度比i小,直接退出
                   // 如果当前字符串的第i个字母和第一行的不匹配,退出
                   if (strs[j].length() <= i || strs[j].charAt(i)!=cur){
                       return ans.toString();
                   }
               }
               ans.append(cur);
           }
           return ans.toString();
       }
    }
    

    纠错

    执行结果

  • 相关阅读:
    Unity 向量点乘、叉乘
    为什么叫Unity3d为脚本语言
    Unity 围绕X、Y、Z旋转图例
    Kafka系列三之单节点多Broker部署
    Debezium SQL Server Source Connector+Kafka+Spark+MySQL 实时数据处理
    Debezium SQL Server Source Connector+Kafka+Spark+MySQL 实时数据处理
    Kudu遇到的坑,是真的坑~
    MySQL binlog浅析
    Kudu单机安装 【很简单】
    mybatis-plus坑之insert方法
  • 原文地址:https://www.cnblogs.com/mlz031702145/p/13672760.html
Copyright © 2011-2022 走看看