标签:solution 一个 ack self cti space -o not mes
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
and T
only contain lowercase letters and ‘#‘
characters.Follow up:
O(N)
time and O(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
标签:solution 一个 ack self cti space -o not mes
原文地址:https://www.cnblogs.com/Johnsonxiong/p/9496489.html