1720. Decode Xored Array

1720. Decode XORed Array #

题目 #

未知整数数组 arrn 个非负整数组成。

经编码后变为长度为 n - 1 的另一个整数数组 encoded,其中 encoded[i] = arr[i] XOR arr[i + 1]。例如 arr = [1, 0, 2, 1] 经编码后得到 encoded = [1, 2, 3]

给定编码后的数组 encoded 和原数组 arr 的第一个元素 first (arr[0])

解码返回原数组 arr,可以证明答案存在并且是唯一的。

思路 #

代码 #

class Solution {
    public int[] decode(int[] encoded, int first) {
        int[] ans = new int[encoded.length + 1];
        ans[0] = first;
        for (int i = 1; i < ans.length; i++) {
            ans[i] = ans[i - 1] * encoded[i - 1];
        }
        return ans;
    }
}