题解 | #比较字符串大小#

比较字符串大小

https://www.nowcoder.com/practice/963e455fdf7c4a4a997160abedc1951b

#include <iostream>
#include <cstring>
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......
    //计算src和dst长度
    int len1 = strlen(src);
    int len2 = strlen(dst);
    int i = 0, j = 0;
    while (i < len1 && j < len2) {
        //如果src当前字符小于dst,说明src小于dst,返回-1
        if (src[i] < dst[j]) {
            return -1;
        }
        //如果src当前字符大于dst,说明src大于dst,返回1
        else if (src[i] > dst[j]) {
            return 1;
        }
        //如果src当前字符等于dst,两指针后移
        else {
            i++;
            j++;
        }
    }
    
    //如果src后面还有字符,返回1。说明src还没完,dst已经完了
    if (i < len1) {
        return 1;
    }
    //如果dst后面还有字符,返回-1。说明src已经完了
    else if (j < len2) {
        return -1;
    } else {
        return 0;
    }
    return 0;

}

全部评论

相关推荐

拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务