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;
}
};
题目:比较版本号
分析:用'.'分割字符串,转化为数字作比较
答案:
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;
}
};
相关文章推荐
- leetcode 165 Compare Version Numbers
- LeetCode 第 165 题(Compare Version Numbers)
- [Leetcode 165, Easy] Compare Version Numbers
- 【LEETCODE】165-Compare Version Numbers
- leetcode 165 Compare Version Numbers C++
- leetcode 165 Compare Version Numbers
- LeetCode 第 165 题(Compare Version Numbers)
- Leetcode_165_Compare Version Numbers
- leetcode解题方案--165--Compare Version Numbers
- Compare Version Numbers- LeetCode 165
- LeetCode165——Compare Version Numbers
- Java [Leetcode 165]Compare Version Numbers
- 【leetcode】【165】Compare Version Numbers
- [Java]Leetcode165 Compare Version Numbers
- Leetcode 165 Compare Version Numbers
- LeetCode 165 Compare Version Numbers(比较版本号)(string)(*)
- leetcode 165 Compare Version Numbers
- [Leetcode]#165 Compare Version Numbers
- LeetCode 165: Compare Version Numbers
- LeetCode 165 Compare Version Numbers