题意
输入两段字符串,根据给定的伪代码得到两字符串各自的新字符串,如果相同则输出这一个相同的新字符串,否则输出各自的新字符串。
思路
分别遍历两个字符串,把每个字符转化为数字进入判断条件,比较大小后再次转化为字符存储另一个新开的字符串中。最后比较两新得到字符串即可。
Solution
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string str, arr, s = "", t = "";
cin >> str >> arr;
for (int i = 1; i < str.size(); i++) {
int u = (int)(str[i] - '0');
int v = (int)(str[i - 1] - '0');
if (u % 2 == v % 2) {
s += (char)(max(u, v) + '0');
}
}
for (int i = 1; i < arr.size(); i++) {
int u = (int)(arr[i] - '0');
int v = (int)(arr[i - 1] - '0');
if (u % 2 == v % 2) {
t += (char)(max(u, v) + '0');
}
}
if (s == t) cout << s << endl;
else {
cout << s << endl << t << endl;
}
return 0;
}