#include <iostream>
using namespace std;
int mystrcmp(const char* src, const char* dst);
int main() {
char s1[100] = { 0 };
char s2[100] = { 0 };
cin.getline(s1, sizeof(s1));
cin.getline(s2, sizeof(s2));
int ret = mystrcmp(s1, s2);
cout << ret << endl;
return 0;
}
int mystrcmp(const char* src, const char* dst) {
// write your code here......
int flag = 0;
int i = 0;
while (true) {
if (*(src + i) == '\0' && *(dst + i) != '\0') {
flag = -1;
break;
} else if (*(src + i) == '\0' && *(dst + i) == '\0') {
flag = 0;
break;
} else if (*(src + i) != '\0' && *(dst + i) == '\0') {
flag = 1;
break;
} else if (*(src + i) == *(dst + i)) {
i++;
continue;
} else if (*(src + i) > *(dst + i)) {
flag = 1;
break;
} else if (*(src + i) < * (dst + i)) {
flag = -1;
break;
} else {
i++;
}
}
return flag;
}
if-else 屎山,先判断是否到达字符串末端,在判断该位字符的大小。
时间复杂度: O(min(n,m))



京公网安备 11010502036488号