作者:
wwndbk (黑人問號)
2023-10-19 11:46:14844. Backspace String Compare
https://leetcode.com/problems/backspace-string-compare/description
給兩個字串s和t,字串中會有'#'代表退格鍵,判斷退格後的字串是否相同。
思路:
直覺反應要倒著讀,寫一個function抓出下一個要比對的char。
但一直被ref卡住,加上要設很多變數就放棄,改成這版用stack存,
遇到'#'就把前面的pop出來,最後比對兩個stack。
跑出來1ms,參考了幾個0ms的都是用我沒寫出來那種方法:)
寫這個白癡語言真的一直卡一直卡,用c或c++至少可以暴力破解,換成rust直接編不過,
我又想那個了。
rust code:
impl Solution {
pub fn backspace_compare(s: String, t: String) -> bool {
let s_str: Vec<char> = s.chars().collect();
let t_str: Vec<char> = t.chars().collect();
let mut s_stack: Vec<char> = vec![];
let mut t_stack: Vec<char> = vec![];
for ch in s_str {
if ch == '#'{
s_stack.pop();
} else {
s_stack.push(ch);
}
}
for ch in t_str {
if ch == '#'{
t_stack.pop();
} else {
t_stack.push(ch);
}
}
s_stack == t_stack
}
}