剑指offer-二叉树的镜像-php

题目

操作给定的二叉树,将其变换为源二叉树的镜像。

题解

翻转二叉树,有递归和非递归两种方式,非递归就是使用队列。

代码



/*class TreeNode{
    var $val;
    var $left = NULL;
    var $right = NULL;
    function __construct($val){
        $this->val = $val;
    }
}*/
function Mirror(&$root)
{
    if($root == NULL)
        return 0;

    $queue = array();
    array_push($queue, $root);

    while(!empty($queue)){
        $node = array_shift($queue);

        $tmp = $node->left;
        $node->left = $node->right;
        $node->right = $tmp;

        if($node->left != NULL)
            array_push($queue, $node->left);
        if($node->right != NULL)
            array_push($queue, $node->right);
    }
}

你可能感兴趣的:(剑指OFFER,剑指OFFER-PHP实现,二叉树,剑指offer-java实现)