coding
unsky
deepdim
thought

Longest Common Prefix

id14. Longest Common Prefix Add to List QuestionEditorial Solution My Submissions
Total Accepted: 137142
Total Submissions: 452531
Difficulty: Easy
Contributors: Admin
Write a function to find the longest common prefix string amongst an array of strings.

题目的意思是找到n多字符串中的最大公共前缀
直接写代码了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string result;
if(strs.empty())return result;
for(int i=0;i<strs[0].size();i++)//拿任意一个做标度
{ for(int j=1;j<strs.size();j++)
{if(strs[0][i]!=strs[j][i])
return result;
}
result.push_back(strs[0][i]);
}
return result;
}
};

其中
for(int i=0;i<strs[0].size();i++)//拿任意一个做标度可以随便拿其中一个字符串做标度,因为是求最大公共前缀所以必须保证所有的都有,如果我们任意选择的都没有,说明就不是公共字串,为了控制简单所以使用第一个来进行。
此外,一些语法的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vector<string> strs;
可以表示的数组是
{
{dgh},
{dfgth},
{dgreuihgre},
}
strs[0]="dgh";
strs[0][0]=‘d’;
此外 对于 string 的后插操作
string s;
s.append("a");正确
但是s.append(‘a’);错误
应该使用s.push_back(‘a’);

坚持原创技术分享,您的支持将鼓励我继续创作!