我正在学习考试并查看前几年的考试题目,它有一个关于二进制树的地方,你必须填写空白,以便函数将二叉树的节点作为子节点。
我对节点知之甚少,但从逻辑上讲,我猜了一下,但我不确定它是否正确。
以下是问题:
public void mirror() {
mirror(root);
}
private void mirror(Node node) {
if (node != null) {
// do the subtrees
mirror(__________);
mirror(__________);
// swap the left/right pointers
Node temp = __________;
______________________;
______________________;
}
}
这是我的答案:
public void mirror() {
mirror(root);
}
private void mirror(Node node) {
if (node != null) {
// do the subtrees
mirror(node.left);
mirror(node.right);
// swap the left/right pointers
Node temp = node.left;
node.left = node.right;
node.right = temp;
}
}
如果有人能帮助我,请告诉我我是否在正确的轨道上,如果没有,请看它应该是什么样的! :)
周末愉快!
答案 0 :(得分:0)
你的答案是对的。
考试好运。