您的位置:首页 > 其它

leetcode #165 Compare Version Numbers

2015-01-24 14:01 363 查看

题目:比较版本号

分析:用'.'分割字符串,转化为数字作比较

答案:

class Solution {

public:

int compareVersion(string version1, string version2) {

int ans;

vector <int> intV1, intV2;

string temp = "";

// separate version1

for (int i = 0; i < version1.length(); i++)

{

char cur = version1[i];

if (cur == '.')

{

intV1.push_back(stoi(temp));

temp = "";

}

else

{

temp = temp + cur;

}

}

intV1.push_back(stoi(temp));

temp = "";

// separate version2

for (int i = 0; i < version2.length(); i++)

{

char cur = version2[i];

if (cur == '.')

{

intV2.push_back(stoi(temp));

temp = "";

}

else

{

temp = temp + cur;

}

}

intV2.push_back(stoi(temp));

// compare

int num = min (intV1.size(), intV2.size());

for (int i =0 ; i < num; i++)

{

if (intV1[i] > intV2[i])

{

ans = 1;

return ans;

}

if (intV1[i] < intV2[i])

{

ans = -1;

return ans;

}

}

if (intV1.size()> intV2.size())

{

for ( int i= num; i< intV1.size(); i++ )

{

if (intV1[i] != 0 )

{

ans = 1;

return ans;

}

}

}

if (intV1.size() < intV2.size())

{

for ( int i= num; i< intV2.size(); i++ )

{

if (intV2[i] != 0 )

{

ans = -1;

return ans;

}

}

}

ans = 0; return ans;

}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: