def invert_tree(root):
if not root: return None
root.left,root.right=invert_tree(root.right),invert_tree(root.left)
return root
public TreeNode invertTree(TreeNode root){
if(root==null) return null;
TreeNode tmp=root.left;
root.left=invertTree(root.right);
root.right=tmp;
return root;
}
Simultaneous assignment swaps without temp. Java needs temp variable.
def invert_tree(root):
if not root: return None
root.left,root.right=invert_tree(root.right),invert_tree(root.left)
return root
public TreeNode invertTree(TreeNode root){
if(root==null) return null;
TreeNode tmp=root.left;
root.left=invertTree(root.right);
root.right=tmp;
return root;
}
1. Recursively invert 2. Swap children