Tree I 提问
class Solution {
public:
/**
*
* @param a int整型vector 表示这棵完全二叉树的Bfs遍历序列的结点编号
* @return long长整型
*/
long long tree1(vector<int>& a) {
// write code here
int n = a.size();
long long res;
if (n == 0)
return 0;
if (n == 1)
return 0;
int i = 0, j = 1;
while (j < n){
res += a[i]^a[j];
j++;
if (j >= n){
continue;
}
res += a[i]^a[j];
j++;
i++;
}
return res;
}
public:
/**
*
* @param a int整型vector 表示这棵完全二叉树的Bfs遍历序列的结点编号
* @return long长整型
*/
long long tree1(vector<int>& a) {
// write code here
int n = a.size();
long long res;
if (n == 0)
return 0;
if (n == 1)
return 0;
int i = 0, j = 1;
while (j < n){
res += a[i]^a[j];
j++;
if (j >= n){
continue;
}
res += a[i]^a[j];
j++;
i++;
}
return res;
}
};
有没有大佬解释一下,为什么n == 1时,返回的正确答案是0,而不是a[0]