描述
给出两个输入流inputA
和inputB
,有Backspace,如果两个输入流最后的结果相等,输出YES
,否则输出NO
。
- 输入字符只包括小写字母和
'<'
。 - 输入流长度不超过
10000
。
您在真实的面试中是否遇到过这个题?
是
样例
给出 inputA = “abcde<<”
, inputB = “abcd<e<”
, 返回 “YES”
。
解释:
inputA和inputB最后的结果都为abc,故返回”YES”。
给出 inputA = “a<<bc”
, inputB = “abc<”
, 返回 “NO”
。
解释:
inputA最后的结果为”bc”,inputB最后的结果为”ab”,故返回”NO”。
无难度题
class Solution { public: /** * @param inputA: Input stream A * @param inputB: Input stream B * @return: The answer */ string inputStream(string &inputA, string &inputB) { // Write your code here inputA=operate(inputA); inputB=operate(inputB); if(inputA==inputB) return "YES"; else return "NO"; } string operate(string& mstr){ stack<char> mstack; for(int i=0;i<mstr.length();i++){ if(mstr[i]=='<'){ if(!mstack.empty()) mstack.pop(); } else mstack.push(mstr[i]); } string result; while(!mstack.empty()){ result=mstack.top()+result; mstack.pop(); } return result; } };