思路 简单的递归 (二叉树的遍历)
/**
*
*/
/***
* @author 18071
* @Date 2019年3月7日
* 功能:镜像二叉树
*
***/
public class test {
public static void main(String args[]) {
TreeNode root =new TreeNode (1);
root.right=new TreeNode (2);
root.left=new TreeNode (3);
root.left.left=new TreeNode (7);
Solution s= new Solution ();
TreeNode temp =s.get(root);
temp.sys(temp);
}
}
class Solution {
public TreeNode get (TreeNode root) {
if(root==null) {
return null;
}
else {
TreeNode temp;
temp=root.left;
root.left=root.right;
root.right=temp;
if(root.left!=null) {
get(root.left);
}
if(root.right!=null) {
get(root.right);
}
}
return root;
}
}
class TreeNode {
TreeNode left;
TreeNode right;
int val;
TreeNode(int x) {
this.val = x;
}
public void sys(TreeNode root) {
if(root!=null) {
System.out.println(root.val);
if(root.left!=null) {
sys(root.left);
}
if(root.right!=null) {
sys(root.right);
}
}
}
}
结果截图