首页 > 学院 > 开发设计 > 正文

剑指offer经典编程(十一)

2019-11-08 02:56:40
字体:
来源:转载
供稿:网友

二叉树的镜像

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述:

二叉树的镜像定义:源二叉树

8 / / 6 10 / / / / 5 7 9 11 镜像二叉树 8 / / 10 6 / / / / 11 9 7 5import java.util.*;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { public void Mirror(TreeNode root) { /*非递归算法 if(root == null){ return; }else if(root.left==null&&root.right==null){ return; } Stack<TreeNode> stack = new Stack<TreeNode>(); stack.push(root); while (!stack.isEmpty()) { TreeNode node = stack.pop(); if (node.left != null || node.right != null) { TreeNode temp = node.left; node.left = node.right; node.right = temp; } if (node.left != null) stack.push(node.left); if (node.right != null) stack.push(node.right); } */ //递归求解 if(root == null){ return; }else if(root.left==null&&root.right==null){ return; } TreeNode temp = root.left; root.left = root.right; root.right = temp; if(root.left!=null){ Mirror(root.left); } if (root.right!=null){ Mirror(root.right); } }}
上一篇:HDU1878 欧拉回路

下一篇:html常用标签

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表