← All problems

2519. Find the Original Array of Prefix Xor

MediumOpen on LeetCodeProblem statement

Problem Statement

2519. Find The Original Array of Prefix Xor

Medium


You are given an integer array pref of size n. Find and return the array arr of size n that satisfies:

Note that ^ denotes the bitwise-xor operation.

It can be proven that the answer is unique.

 

Example 1:

Input: pref = [5,2,0,3,1]
Output: [5,7,2,3,2]
Explanation: From the array [5,7,2,3,2] we have the following:
- pref[0] = 5.
- pref[1] = 5 ^ 7 = 2.
- pref[2] = 5 ^ 7 ^ 2 = 0.
- pref[3] = 5 ^ 7 ^ 2 ^ 3 = 3.
- pref[4] = 5 ^ 7 ^ 2 ^ 3 ^ 2 = 1.

Example 2:

Input: pref = [13]
Output: [13]
Explanation: We have pref[0] = arr[0] = 13.

 

Constraints:

C++

Source file
class Solution {
public:
    vector<int> findArray(vector<int>& pref) {
        vector<int> v(pref.size(), 0);
        int token = 0;
        for(int i=0; i<pref.size(); i++){
            v[i] = token^pref[i];
            token=pref[i];
        }
        return v;
    }
};