題目
給定兩個字串s、t,’#’代表退格符號。退格完之後,去判斷s和t是否為相同字串。
解題方法
暴力法解決,用Stack去做。
快樂的笨蛋
程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| class Solution { public: bool backspaceCompare(string s, string t) { stack<char> s_t; stack<char> t_t; for(int i = 0;i<s.length();++i) { if(s[i] == '#' && s_t.size() !=0) s_t.pop(); else if(s[i] != '#') s_t.push(s[i]); } for(int i = 0;i<t.length();++i) { if(t[i] == '#' && t_t.size() !=0) t_t.pop(); else if(t[i] != '#') t_t.push(t[i]); } if(s_t.size() != t_t.size()) return false; int size = s_t.size(); for(int i =0;i<size;++i) { if(s_t.top() != t_t.top()) return false; s_t.pop(); t_t.pop(); } return true; } };
|