LeetCode844. 比较含退格的字符串
1. 问题描述

2. 思路
- 声明一个栈,遍历字符串str
- 如果
str[i] != '#',元素入栈 - 如果
str[i]=='#,栈顶元素出栈
- 如果
- 将栈转换为字符串,并返回
3. 代码
func backspaceCompare(s string, t string) bool {
sRes := rebuild(s)
tRes := rebuild(t)
// fmt.Printf("sRes == %v.tRes == %v\n",sRes, tRes)
return sRes == tRes
}
func rebuild(str string) string {
stack := []byte{}
for i := 0; i < len(str); i++ {
if str[i] != '#' {
stack = append(stack, str[i])
} else if len(stack) > 0 {
stack = stack[:len(stack)-1]
}
}
return string(stack)
}
该博客主要介绍了LeetCode第844题——比较含退格的字符串的解题思路和代码实现。通过使用栈来模拟退格过程,分别重建两个字符串并进行比较,从而判断它们是否相等。代码中定义了两个函数,backspaceCompare用于比较,rebuild用于重建字符串。
547

被折叠的 条评论
为什么被折叠?



