LeetCode第844题 – 比较含退格的字符串

71 views

题目

给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。

注意:如果对空文本输入退格字符,文本继续为空。

解答

class Solution {
    public boolean backspaceCompare(String S, String T) {
		LinkedList<String> list = new LinkedList<>();

		list.clear();
		for (int i = 0, length = S.length(); i < length; ++i) {
			char c = S.charAt(i);
			if (c == '#') {
				if (!list.isEmpty()) {
					list.removeFirst();
				}
			}
			else {
				list.addFirst(String.valueOf(c));
			}
		}

		String v1 = list.stream().collect(Collectors.joining());

		list.clear();
		for (int i = 0, length = T.length(); i < length; ++i) {
			char c = T.charAt(i);
			if (c == '#') {
				if (!list.isEmpty()) {
					list.removeFirst();
				}
			}
			else {
				list.addFirst(String.valueOf(c));
			}
		}

		String v2 = list.stream().collect(Collectors.joining());

		return v1.equals(v2);
    }
}

要点
当前的解法速度上不占优势,后续需要改进方案。



若非注明,均为原创,欢迎转载,转载请注明来源:LeetCode第844题 – 比较含退格的字符串

关于 JackieAtHome

基层程序员,八年之后重新启航

此条目发表在 Java, LeetCode 分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Protected with IP Blacklist CloudIP Blacklist Cloud