#樹#遞歸#二叉樹的鏡像 /**
* 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;
}
}