【Lintcode】823. Input Stream

    科技2024-05-08  91

    题目地址:

    https://www.lintcode.com/problem/input-stream/description

    给定两个字符串,包含小写字母和"<",小于号相当于退格键。问按照这两个字符串的方式做输入,最终得到的结果是否相等。相等则返回"YES"否则返回"NO"。

    类似于栈来做即可。代码如下:

    public class Solution { /** * @param inputA: Input stream A * @param inputB: Input stream B * @return: The answer */ public String inputStream(String inputA, String inputB) { // Write your code here return parse(inputA).equals(parse(inputB)) ? "YES" : "NO"; } private String parse(String input) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < input.length(); i++) { char ch = input.charAt(i); if (ch != '<') { sb.append(ch); } else { // 这里要判断一下sb还有字符可以删 if (sb.length() >= 1) { sb.setLength(sb.length() - 1); } } } return sb.toString(); } }

    时空复杂度 O ( l A + l B ) O(l_A+l_B) O(lA+lB)

    Processed: 0.016, SQL: 8