善用字符串比较函数
int compare (size_type pos, size_type n, const basic_string& s,size_type pos2, size_type n2) const;
从索引0开始比较,比较的长度为两个之中较短的字符串,即可以确定字符串A是否是字符串B的前缀,若是前缀,则原根数-1.
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @param s string字符串vector
* @return int整型
*/
int solve(int n, vector<string>& s) {
// write code here
//int n = s.size();
int m = n;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (s[i].size() > s[j].size()) {
if (s[j].compare(0, s[j].size(), s[i], 0, s[j].size()) == 0) {
m--;
}
} else {
if (s[i].compare(0, s[i].size(), s[j], 0, s[i].size()) == 0) {
m--;
}
}
}
}
return m;
}
};

京公网安备 11010502036488号