题解 | #比较版本号#
比较版本号
https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7
#include <sstream> #include <valarray> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 比较版本号 * @param version1 string字符串 * @param version2 string字符串 * @return int整型 */ int compare(string version1, string version2) { // write code here stringstream ss(version1); string s; vector<int> v1; while (getline(ss, s, '.')) { stringstream sss; sss << s; int t ; sss >> t; v1.push_back(t); } stringstream ss2 (version2) ; vector<int> v2; while (getline(ss2, s, '.')) { stringstream sss; sss << s; int t ; sss >> t; v2.push_back(t); } for(int i=0;i<(v1.size());i++){ int a = v1[i]; int b= 0; if(i<=v2.size()-1){ b= v2[i]; } if(a>b){ return 1; }else if(a<b){ return -1; }else{ continue; } } return 0; } };
其实还是有问题的,这里默认a比b长了