[LeetCode] 844. Backspace String Compare_Easy tag: Stack **Two pointers
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 844. Backspace String Compare_Easy tag: Stack **Two pointers相关的知识,希望对你有一定的参考价值。
Given two strings S
and T
, return if they are equal when both are typed into empty text editors. #
means a backspace character.
Example 1:
Input: S = "ab#c", T = "ad#c"
Output: true
Explanation: Both S and T become "ac".
Example 2:
Input: S = "ab##", T = "c#d#"
Output: true
Explanation: Both S and T become "".
Example 3:
Input: S = "a##c", T = "#a#c"
Output: true
Explanation: Both S and T become "c".
Example 4:
Input: S = "a#c", T = "b"
Output: false
Explanation: S becomes "c" while T becomes "b".
Note:
1 <= S.length <= 200
1 <= T.length <= 200
S
andT
only contain lowercase letters and‘#‘
characters.
Follow up:
- Can you solve it in
O(N)
time andO(1)
space?
建一个helper function, 然后用stack, 如果为‘#‘, 就stack.pop(), 否则append(c), 最后返回"".join(stack). T: O(m+n) S: O(m+n)
**imporve, 可以用two pointers 去实现 T: O(m+n) S: O(1)
Code
class Solution: def backspaceStringCompare(self, S, T): def helper(s): stack = [] for c in s: if c == ‘#‘ and stack: stack.pop() elif c != ‘#‘: stack.append(c) return "".join(stack) return helper(S) == helper(T)
以上是关于[LeetCode] 844. Backspace String Compare_Easy tag: Stack **Two pointers的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] 844. Backspace String Compare
(栈,双指针) leetcode. 844 Backspace String Compare
LeetCode_844-Backspace String Compare
[LeetCode] 844. Backspace String Compare_Easy tag: Stack **Two pointers