823. 输入流

版权声明:世界是开源的 https://blog.csdn.net/qq_36619282/article/details/82019993

描述
给出两个输入流inputA和inputB,有Backspace,如果两个输入流最后的结果相等,输出YES,否则输出NO。

样例
给出 inputA = “abcde<<”, inputB = “abcd<e<”, 返回 “YES”。
inputA和inputB最后的结果都为abc,故返回”YES”。

给出 inputA = “a<<bc”, inputB = “abc<”, 返回 “NO”。
inputA最后的结果为”bc”,inputB最后的结果为”ab”,故返回”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
        char[] A = new char[inputA.length()];
        int lenA = 0;
        for (int i = 0; i < inputA.length(); i++) {
            if (inputA.charAt(i) == '<') {
                if (lenA > 0) {
                    lenA--;
                }
            } else {
                A[lenA++] = inputA.charAt(i);
            }
        }
        char[] B = new char[inputB.length()];
        int lenB = 0;
        for (int i = 0; i < inputB.length(); i++) {
            if (inputB.charAt(i) == '<') {
                if (lenB > 0) {
                    lenB--;
                }
            } else {
                B[lenB++] = inputB.charAt(i);
            }
        }
        if (lenA == lenB) {
            for (int i = 0; i < lenA; i++) {
                if (A[i] != B[i]) {
                    return "NO";
                }
            }
            return "YES";
        }
        return "NO";
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36619282/article/details/82019993
今日推荐