1. 递归
先交换左右子节点,然后再递归反转左右子树。
时间O(n),空间O(n)。  
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | 
 
 
 
 
 
 
 
  class Solution { public:     TreeNode* invertTree(TreeNode* root) {         if (root != nullptr) {             TreeNode* temp = root->left;             root->left = root->right;             root->right = temp;             invertTree(root->left);             invertTree(root->right);         }                  return root;     } };
 
  |