leetcode

    xiaoxiao2021-03-25  58

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

    挺简单的,就是找到共同的最长前缀。我这个方法肯定浪费空间了,但是第一个想法就这么想的那就这么做了。其实两个for循环中外面的循环可以直接拿第一个元素的size来循环的。每次取这个前缀的大小多一。如果不是所有都成功那前缀就是前一个取得的值,直接结束返回就好了。

    贴不好的代码:

    class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.size() == 0) return ""; vector<string> allpre; string maxstring = ""; for(int i = 0; i < strs[0].size(); ++i){ allpre.push_back(strs[0].substr(0,i+1)); } for(int i = 0; i < allpre.size(); ++i){ int flag = 0; for(int j = 0; j < strs.size(); ++j){ if(allpre[i] != strs[j].substr(0,allpre[i].size())){ return maxstring; } } if(flag == 0){ maxstring = allpre[i]; } } return maxstring; } };有时候 不一定要看完直接就写。想清楚再写能写的更好的。

    转载请注明原文地址: https://ju.6miu.com/read-38400.html

    最新回复(0)