题目:https://leetcode-cn.com/problems/invert-binary-tree/
解法:
public TreeNode invertTree(TreeNode root) {if(null == root){return null;}TreeNode left = root.left;root.left = root.right;root.right = left;invertTree(root.left);invertTree(root.right);return root;}
注意:
1、注意边界的判断,比如
输入:[1,2]
期望是:[1,null,2]
2、时间复杂度 O(N) , N是二叉树节点的数目,会遍历二叉树的每个节点
3、空间复杂度 O(N) , 使用的空间由递归栈的深度决定,深度=当前节点在二叉树中的高度
二叉树的高度与节点的个数是对数关系,即 O(logN) ,数形成链状,则为O(N)
