数据结构题目51:交换所有结点左、右子树的位置

题目:交换所有结点左、右子树的位置。
该操作采用按层次遍历方法比较合适。遍历过程中访问一个结点时,就将该结点的左、右子树的位置进行交换。

解题思路:算法中需要用到一个队列QUEUE[0,..,M-1],队头指针与队尾指针分别用front与rear表示。这里,不妨假设该队列采用顺序存储结构,并且空间足够大。

具体算法如下:
这里使用到建立二叉树buildBT()

function exchangeBT(T) {
    let queue=new Array(MaxSize), temp, p=T, front, rear
    if ( T!=null ) {
        queue[0] = T
        front = -1
        rear = 0
        while ( front

你可能感兴趣的:(数据结构题目51:交换所有结点左、右子树的位置)