class Solution {
public:
string parseTernary(string expression) {
string res = expression;
stack<int> s;
for (int i = 0; i < expression.size(); ++i) {
if (expression[i] == '?') s.push(i);
}
while (!s.empty()) {
int t = s.top(); s.pop();
res = res.substr(0, t - 1) + eval(res.substr(t - 1, 5)) + res.substr(t + 4);
}
return res;
}
string eval(string str) {
if (str.size() != 5) return "";
return str[0] == 'T' ? str.substr(2, 1) : str.substr(4);
}
};
https://www.cnblogs.com/grandyang/p/6022498.html

京公网安备 11010502036488号