Description:
题目大意:给定两个字符串,比较字符串大小
解题思路:
算法标签:字符串
字符串转化为数字,进行比较,长度短的字符串,后面补 0
代码:
class Solution {
public:
int compare(string version1, string version2) {
int ans = 0;
vector<int>number1,number2;
for(int i = 0;i < version1.length();i++) {
if(version1[i] == '.') {
number1.push_back(ans);
//cout<<ans<<endl;
ans = 0;
}
else {
int temp = version1[i] - '0';
ans = ans * 10 + temp;
}
}
number1.push_back(ans);
ans = 0;
for(int i = 0;i < version2.length();i++) {
if(version2[i] == '.') {
number2.push_back(ans);
ans = 0;
}
else {
int temp = version2[i] - '0';
ans = ans * 10 + temp;
}
}
number2.push_back(ans);
if(number1.size() < number2.size()) {
for(int i = number1.size();i < number2.size();i++)
number1.push_back(0);
}
else if(number1.size() > number2.size()) {
for(int i = number2.size();i < number1.size();i++)
number2.push_back(0);
}
for(int i = 0;i < number1.size();i++)
cout<<number1[i]<<" ";
cout<<endl;
for(int i = 0;i < number1.size();i++) {
if(number1[i] < number2[i])
return -1;
else if(number1[i] > number2[i])
return 1;
}
return 0;
}
};