• 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 };
  • 相关阅读:
    数据结构-线性表-链表
    [poj 2991]Crane[线段树表示向量之和,而非数量]
    vector要注意的点
    vector与deque的区别
    sendfile复习
    GPU和CPU的区别
    常用Linux命令 mount df dd
    可省略的关键字
    父类与子类的virtual
    加快编译的技巧 & mount及tmpfs
  • 原文地址:https://www.cnblogs.com/shellfishsplace/p/5837306.html
Copyright © 2020-2023  润新知