二叉树的镜像

[编程题]-二叉树的镜像

【解题思路】
源二叉树:
 
  8
  / \
 6 10
 / \ / \
5 7 9 11
镜像二叉树:
 
  8
 / \
10 6
 / \ / \
11 9 7 5
通过上述图示,可以看出,源二叉树镜面成像变成镜像二叉树。 一个节点的左右节点进行互换,可以通过递
归来实现。

【示例代码】

public class Solution {
  public void Mirror(TreeNode root) {
  //节点为null 不处理
    if(root == null)
      return;
  //节点的左右子节点为null(即就是节点为叶子节点)同样不处理
  if(root.left == null && root.right == null)
    return;
  //节点的左右子节点交换
  TreeNode pTemp = root.left;
  root.left = root.right;
  root.right = pTemp;
  //递归处理
  if(root.left != null)
    Mirror(root.left);
  if(root.right != null)
    Mirror(root.right);
  }
}
发布了49 篇原创文章 · 获赞 5 · 访问量 886
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览