zoukankan      html  css  js  c++  java
  • 领扣(LeetCode)最长公共前缀 个人题解

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

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

    示例 1:

    输入: ["flower","flow","flight"]
    输出: "fl"
    

    示例 2:

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

    说明:

    所有输入只包含小写字母 a-z 。

    这题比较简单,采用O(m*n)的算法复杂度,即对每个串内的字符一个字符一个字符判断,可以比较容易解决问题。不过要注意字符串数组越界的问题。

    代码如下:

     1 class Solution {
     2     public String longestCommonPrefix(String[] strs) {
     3         String ans = "";
     4         if (strs.length == 0)
     5             return ans;
     6         int minlen = strs[0].length();
     7         for (String string : strs) {
     8             if (string.length() < minlen)
     9                 minlen = string.length();
    10         }
    11         for (int i = 0; i < minlen; i++) {
    12             char tmp = strs[0].charAt(i);
    13             for (int j = 1; j < strs.length; j++) {
    14 
    15                 if (strs[j].charAt(i) == tmp)
    16                     continue;
    17                 else
    18                     return ans;
    19             }
    20             ans += tmp;
    21         }
    22         return ans;
    23     }
    24 }
  • 相关阅读:
    document
    winform(公共控件)
    winform属性
    ADO.NET(查询、属性扩展)
    ADO.NET(完整修改和查询、实体类,数据访问类)
    ADO.NET基础(增删改查)
    面向对象(类库、委托)
    c#复习整理
    面向对象(多态)
    面向对象(封装、继承)
  • 原文地址:https://www.cnblogs.com/axiangcoding/p/9931578.html
Copyright © 2011-2022 走看看