您的位置:首页 > 其它

剑指-二叉树镜像

2016-08-25 15:11 176 查看
题目:

请完成一个函数,输入一个二叉树,该函数输出他的的镜像.

思路:

先序遍历这棵树的每个结点,如果遍历到结点有子结点,就交换它的两个子结点, 当交换完所有非叶子结点的左右结点之后,就的到了树的镜像.

static class BinaryTreeNode {
int value;
BinaryTreeNode left;
BinaryTreeNode right;
}

private static void mirrorRecursively(BinaryTreeNode head) {
if (head == null) {
return;
}
if (head.left == null && head.right == null) {
return;
}

BinaryTreeNode temp = head.left;
head.left = head.right;
head.right = temp;

if (head.left != null) {
mirrorRecursively(head.left);
}

if (head.right != null) {
mirrorRecursively(head.right);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: