/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode mirrorTree(TreeNode root) { return mirror(root); } TreeNode mirror(TreeNode root) { if(root == null) return root; TreeNode temp = root.left; root.left = root.right; root.right = temp; mirror(root.left); mirror(root.right); return root; } }
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode mirrorTree(TreeNode root) { if(root == null) return root; Deque<TreeNode> q = new LinkedList<>(); q.push(root); TreeNode temp = null; while(q.isEmpty() == false) { TreeNode parent = q.poll(); temp = parent.left; parent.left = parent.right; parent.right = temp; if(parent.left!=null) { q.offer(parent.left); } if(parent.right!=null) { q.offer(parent.right); } } return root; } }