题目:给定 S 和 T 两个字符串,其中包含退格符(# 代表退格字符),编写一个算法,假设将它们输入到空白的文本编辑器中,即让退格符生效,判断二者是否相等,并返回结果。
工具/原料
1
Eclipse
2
JDK1.8
方法/步骤
1
实现一个工具函数,处理包含退格符的字符串:1. 创建一个栈,遍历字符串,并将字符入栈;2. 如果字符为 '#' 即退格符并且栈不空,则弹出栈顶元素,即删除该字符;3. 对于其他字符,全部入栈,最后将栈中内容输出为一个字符串返回。
2
实现算法,算法思想:1. 调用第一步的工具函数,分别处理两个含退格符的字符串;2. 比较上述获取的两个处理后的字符串,是否相等即可。
3
编写本地测试主方法。
4
运行本地测试方法,观察控制台输出,符合预期,本地测试通过。
5
平台提交算法,测试通过。
注意事项
本经验使用 LinkedList 实例作为栈使用,基于链表,无需扩容。