剑指 Offer 27. 二叉树的镜像
题意:请完成一个函数,输入一个二叉树,该函数输出它的镜像。
解题思路
解法1:
1.分析题意,镜像实际上就是左右对调,就像我们照镜子一样,就是左右对调,也就说,把买个节点的左右子树对调即为结果
2.首先二叉树的遍历方法有前序遍历、中序遍历、后序遍历、层序遍历
3.其次遍历时,去修改每个节点的左右子树,实现三元素对调即可
解题遇到的问题
无
后续需要总结学习的知识点
无
##解法1
class Solution {
TreeNode ansNode = null;
public TreeNode mirrorTree(TreeNode root) {
ansNode = root;
preList(root);
return ansNode;
}
public void preList(TreeNode root) {
if (root == null) {
return;
}
swapLeftAndRight(root);
preList(root.left);
preList(root.right);
}
public void swapLeftAndRight(TreeNode root) {
TreeNode leftNode = root.left;
TreeNode rightNode = root.right;
TreeNode tempNode = leftNode;
leftNode = rightNode;
rightNode = tempNode;
root.left = leftNode;
root.right = rightNode;
}
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
}
网友评论