zoukankan      html  css  js  c++  java
  • leetcode 14

    14. Longest Common Prefix

    Write a function to find the longest common prefix string amongst an array of strings.

    找出字符串集合的最长公共前缀。

    思路:先计算出前两个字符串的最长公共前缀s,然后用s去和剩下的字符串依次计算公共前缀,若计算结果的长度小于s的长度时替换s,

    循环执行,直到所有字符串参与计算,此时s即为整个字符串集合的最长公共前缀。

    需要注意当字符串集合为空时的处理。

    代码:

     1 class Solution {
     2 public:
     3     string longestCommonPrefix(vector<string>& strs) {
     4         string longest = "";
     5         int n = 0;
     6         if(strs.size() == 1)
     7         {
     8             return strs[0];
     9         }
    10         if(strs.size() == 0)
    11         {
    12             return "";
    13         }
    14         strs[0].length() > strs[1].length() ? n = strs[1].length() : n = strs[0].length(); 
    15         for(int i = 0; i < n; ++i)
    16         {
    17             if(strs[0][i] == strs[1][i])
    18             {
    19                 longest += strs[0][i];
    20             }
    21             else
    22             {
    23                 break;
    24             }
    25         }
    26         for(int i = 2; i < strs.size(); ++i)
    27         {
    28             string s = "";
    29             for(int j = 0; j < longest.length(); ++j)
    30             {
    31                 if(j >= strs[i].length() && strs[i][0] == longest[0])
    32                 {
    33                     s = strs[i];
    34                 }
    35                 if(longest[j] == strs[i][j])
    36                 {
    37                     s += longest[j];
    38                 }
    39                 else
    40                 {
    41                     break;
    42                 }
    43             }
    44             longest = s;
    45         }
    46         return longest;
    47     }
    48 };
  • 相关阅读:
    cocos2dx
    读书日记-快速排序算法
    vs重装找不到 $(WindowsSdkDir) 配置问题
    IOS应用FFMPEG库
    OpenGL ES2.0贴图
    OpenGL ES2.0光照
    IOS系统配置FFMEPG
    GPUImage库的使用
    spring08事务
    java10---点餐系统
  • 原文地址:https://www.cnblogs.com/shellfishsplace/p/5837306.html
Copyright © 2011-2022 走看看