AC,要注意Java中只有值传递,所以调用swap函数会交换失败
/**
* 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;
if(root.left != null)
root.left = mirrorTree(root.left);
if(root.right != null)
root.right = mirrorTree(root.right);
// swap(root.left, root.right);
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
return root;
}
public void swap(TreeNode l, TreeNode r){
TreeNode tmp = l;
l = r;
r = tmp;
}
}
参考博客: