题解 | #最长公共前缀#
最长公共前缀
https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47
#include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串vector * @return string字符串 */ string longestCommonPrefix(vector<string>& strs) { // write code here int n=strs.size(); if(n==0) return ""; else if(n==1){ return strs[0]; } vector<int> dp(n, 9999); for(int i=1;i<n;i++){ dp[i] = min(com(strs[i-1],strs[i]), dp[i-1]); } return strs[0].substr(0, dp[n-1]); } int com(string s1,string s2){ if(s1.size()==0|| s2.size()==0){ return 0; }else{ int res=0; int n = min(s1.size(),s2.size()); for(int j=0;j<n;j++){ if(s1[j] == s2[j]){ res++; }else{ break; } } return res; } } };