Friday, September 13, 2013

print a mirror of given Binary tree

Node MirrorTree(Node node) {
        if (node == null) {
            return node;
        }
        if (node.leftChild == null && node.rightChild == null) {
            return node;
        }
        if (node.leftChild != null && node.rightChild != null) {
            Node ltemp = node.leftChild;
            Node rtemp = node.rightChild;
            node.leftChild = rtemp;
            node.rightChild = ltemp;
            MirrorTree(node.leftChild);
            MirrorTree(node.rightChild);
        } else if (node.leftChild != null) {
            node.rightChild = node.leftChild;
            node.leftChild = null;
            MirrorTree(node.leftChild);
        } else {
            node.leftChild = node.rightChild;
            node.rightChild = null;
            MirrorTree(node.rightChild);
        }
        return node;
    }

No comments:

Post a Comment