汕头网站建设stqhcx,centos架设wordpress,仓储网站开发,婚礼策划婚礼定制牛客题霸 [比较版本号] C题解/答案
题目描述
如果version1 version2 返回1#xff0c;如果 version1 version2 返回-1#xff0c;不然返回0.
输入的version字符串非空#xff0c;只包含数字和字符.。.字符不代表通常意义上的小数点#xff0c;只是用来区分数字…牛客题霸 [比较版本号] C题解/答案
题目描述
如果version1 version2 返回1如果 version1 version2 返回-1不然返回0.
输入的version字符串非空只包含数字和字符.。.字符不代表通常意义上的小数点只是用来区分数字序列。例如字符串2.5并不代表二点五只是代表版本是第一级版本号是2第二级版本号是5.
题解
将小数点之前的转化成数num1.如果num1一样依次比小数点后面的
代码
class Solution {
public:/*** 比较版本号* param version1 string字符串 * param version2 string字符串 * return int整型*/int compare(string version1, string version2) {// write code hereint i 0; ///note version1int j 0; ///note version2int num1 0;int num2 0;while (iversion1.size() jversion2.size()){char a version1[i];char b version2[j];if (a ! .)num1 num1*10 (a - 0);if (b ! .) num2 num2*10 (b - 0);if (a. b.){if (num1 num2)return 1;else if (num1 num2)return -1;else{num1 0;num2 0;}}if (a!. b.)i;else if (a. b!.)j;else{i;j;}}if (i version1.size())return 1;if (j version2.size())return -1;return 0;}
};