LeetCode439 三元表达式解析器
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