二叉树的镜像-Java实现

题目描述

给出一棵二叉树,求它的镜像,如下图:右边是二叉树是左边二叉树的镜像。

思路分析

Java递归实现:如果当前节点为空,返回,否则交换该节点的左右节点,递归的对其左右节点进行交换处理。

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.*;

/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* public TreeNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
*
*
* @param pRoot TreeNode类
* @return TreeNode类
*/
public TreeNode Mirror (TreeNode pRoot) {
// write code here
if(pRoot==null||(pRoot.left==null&&pRoot.right==null)){
return pRoot;
}
TreeNode node=pRoot.left;
pRoot.left=pRoot.right;
pRoot.right=node;
if(pRoot.left!=null){
Mirror(pRoot.left);
}
if(pRoot.right!=null){
Mirror(pRoot.right);
}
return pRoot;
}
}


二叉树的镜像-Java实现
https://blog.kevinchu.top/2022/06/10/treeNode-mirror/
作者
Kevin Chu
发布于
2022年6月10日
许可协议