題目:操作給定的二叉樹,將其變換為源二叉樹的鏡像。

遞歸解決:
package com.mytest.mymain;class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}public class MirrorTree { public void Mirror(TreeNode root) { if(root==null) return; if(root.left==null && root.right==null) return; TreeNode treeNode=root.left; root.left=root.right; root.right=treeNode; if(root.left!=null){ Mirror(root.left); } if(root.right!=null){ Mirror(root.right); } }}非遞歸解決核心代碼:while(root!=null || mystack!=null){while(root!=null){ TreeNode treeNode=root.left; root.left=root.right; root.right=treeNode; mystack.push(root); root=root.left;}root=mystack.pop();root=root.right;}
新聞熱點
疑難解答