完全二叉树使用层序遍历。父节点于孩子节点在数组中的下标存在指定关系。例如:父节点在数组中的下标(下标从1 开始)为 x,则左孩子的下标为 2x,右孩子的下标为 2x+1。

package main

/**
 * 
 * @param a int整型一维数组 表示这棵完全二叉树的Bfs遍历序列的结点编号
 * @return long长整型
*/
func tree1( a []int ) int64 {
    sum := int64(0)
    for i := len(a); i > 0; i-- {
        if i / 2 > 0 {
            sum += int64(a[i-1] ^ a[i / 2 - 1])
        }
    }
    return sum
}