Re: [闲聊] 每日LeetCode

楼主: wwndbk (黑人问号)   2023-10-19 11:46:14
844. 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
}
}

Links booklink

Contact Us: admin [ a t ] ucptt.com