题解 | #最长公共前缀#

最长公共前缀

http://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

先数组排序,然后只需要比较最大和最小的暨第一个和最后一个string,保存一个标记位i,利用substr返回string中第一个到第i个组成的子字符串;注意,如果strs为空,必须返回"".

class Solution {
public:
    /**
     * 
     * @param strs string字符串vector 
     * @return string字符串
     */
    string longestCommonPrefix(vector<string>& strs) 
    {
        // write code here
        int len = strs.size();
        if(len == 0)
            return "";
        sort(strs.begin(),strs.end());
        int flag = min(strs[0].size(),strs[len-1].size());
        int i = 0;
        for(i = 0;i<flag;++i)
        {
            if(strs[0][i] != strs[len-1][i])
                break;
        }
        return strs[0].substr(0,i);
    }
};
全部评论

相关推荐

10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
6 3 评论
分享
牛客网
牛客企业服务