牛客题霸 [比较版本号] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [比较版本号] C++题解/答案
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
牛客題霸 [比較版本號(hào)] C++題解/答案
題目描述
如果version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0.
輸入的version字符串非空,只包含數(shù)字和字符.。.字符不代表通常意義上的小數(shù)點(diǎn),只是用來(lái)區(qū)分?jǐn)?shù)字序列。例如字符串2.5并不代表二點(diǎn)五,只是代表版本是第一級(jí)版本號(hào)是2,第二級(jí)版本號(hào)是5.
題解:
將小數(shù)點(diǎn)之前的轉(zhuǎn)化成數(shù)num1.如果num1一樣,依次比小數(shù)點(diǎn)后面的
代碼:
class Solution { public:/*** 比較版本號(hào)* @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 (i<version1.size() && j<version2.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;} };總結(jié)
以上是生活随笔為你收集整理的牛客题霸 [比较版本号] C++题解/答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 小米官方刷机教程小米如何在电脑上刷机
- 下一篇: 牛客题霸 [孩子们的游戏] C++题解/