Leetcode 14. Longest Common Prefix

来源:互联网 发布:电脑海报设计软件 编辑:程序博客网 时间:2024/05/17 09:15

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

题目大意:寻找一个字符串数组的最长共同前缀并返回此前缀。

分析:前缀不会超过字符串数组中最短的字符串长度,首先找到最短字符串的长度min_length。然后设置循环找到最短字符串即可。

class Solution {public:    string longestCommonPrefix(vector<string>& strs)     {        if(strs.size() == 0)            return "";        int n = strs.size();//字符数组的长度        string prefix = strs[0];//保存最终的最短字符串        int min_length = prefix.size();//用于保存最短字符串的长度        for(int i = 1;i < n;i++)        {            if(strs[i].size() == 0)                return "";            if(min_length > strs[i].size())                min_length = strs[i].size();        }        int i,j;        for(j = 0;j < min_length;j++)            for(i = 1;i < n;i++)            {                if(prefix[j] !=strs[i][j])//如果有一个不等,即可返回prefix的0到j-1的子串                {                     prefix = prefix.substr(0,j);                     return prefix;                }            }           return prefix.substr(0,j);            }};


0 0