int compare(char* version1, char* version2 ) {
    // write code here
    char* p1 = version1, *p2 = version2, *pe1 = version1, *pe2 = version2;
    int ret = 0;
    while (*p1 != '\0' || *p2 != '\0') {
        //截取.前字符
        while (*p1 != '\0' && *p1 == '0' && *(p1 + 1) != '.') {
            p1++;
        }
        while (*pe1 != '.' && *pe1 != '\0') {
            pe1++;
        }

        while (*p2 != '\0' && *p2 == '0' && *(p2 + 1) != '.') {
            p2++;
        }
        while (*pe2 != '.' && *pe2 != '\0') {
            pe2++;
        }

        *pe1 = '\0';
        *pe2 = '\0';
        //比较截取的字符
        //两个字符串都不为空的情况
        if (*p1 != '\0' && *p2 != '\0') {
            if ((pe1 - p1) > (pe2 - p2))//比较字符串长度
                return 1;
            if ((pe1 - p1) < (pe2 - p2))
                return -1;

            ret = strcmp(p1, p2);
            if (ret > 0)
                return 1;
            if (ret < 0)
                return -1;
        }
        //当其中一个字符串为空的情况
        if (*p1 == '\0' && *p2 != '\0' && *p2 != '0')
            return -1;
        if (*p2 == '\0' && *p1 != '\0' && *p1 != '0')
            return 1;
        //指针移动到下一个.后
        if (*p1 != '\0') {
            pe1 = pe1 + 1;
            p1 = pe1;
        }
        if (*p2 != '\0') {
            pe2 = pe2 + 1;
            p2 = pe2;
        }
    }

    return 0;
}