剑指offer 19. 二叉树的镜像

来源:互联网 发布:淘宝女装卖家自制影棚 编辑:程序博客网 时间:2024/06/06 02:46
// 题目:输入一个二叉树,输出它的镜像// 解法:递归的进行,转换每一个节点public class Main {public static void main(String[] args) {BinaryTreeNode root = new BinaryTreeNode();          BinaryTreeNode n1 = new BinaryTreeNode();          BinaryTreeNode n2 = new BinaryTreeNode();          BinaryTreeNode n3 = new BinaryTreeNode();          BinaryTreeNode n4 = new BinaryTreeNode();          BinaryTreeNode n5 = new BinaryTreeNode();          root.value = 50;          n1.value = 25;          n2.value = 75;          n3.value = 10;          n4.value = 35;          n5.value = 35;          root.leftNode = n1;          root.rightNode = n2;          n1.leftNode = n3;          n1.rightNode = n4;          ReverseTree(root);        System.out.println("complete!");}public static void ReverseTree(BinaryTreeNode root) {if(root == null){return;}if(root.leftNode == null && root.rightNode == null){return;}BinaryTreeNode temp = root.leftNode;//如果左右结点有一个不为空,就转换两个子树root.leftNode = root.rightNode;root.rightNode = temp;if(root.leftNode!=null){//如果不为空就找左子树ReverseTree(root.leftNode);}if(root.rightNode!=null){//如果不为空就找右子树ReverseTree(root.rightNode);}}}

0 0
原创粉丝点击