LeetCode 每日一题 1720.解码异或后的数组

LeetCode 每日一题 1720.解码异或后的数组


问题描述

在这里插入图片描述

简要思路

经推导可知,对于a^b=c,可得,a^c=b,b^c=a,故只要一个for循环,将每个encoded中的数字与arr中当前数字异或,即可得到下一位。

代码

class Solution {
    
    
public:
    vector<int> decode(vector<int>& encoded, int first) {
    
    
        int n = encoded.size();
        vector<int> arr(n+1);
        arr[0] = first;
        for(int i=0; i<n; i++){
    
    
            arr[i+1] = encoded[i]^arr[i];
        }

        return arr;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_45438600/article/details/116451268