一、翻转二叉树(226—简单)

226、翻转二叉树 - 图1

二、分析

我们从上面题目中可以知道,翻转前后的当前节点的左右子树的位置正好是相反的。翻转一棵二叉树就是交换了当前节点的左右孩子节点,比如,当前节点为4时,交换2和7;当前节点为2时,交换1和3·········以此类推。

三、题解

226、翻转二叉树 - 图2

  1. class Solution {
  2. public TreeNode invertTree(TreeNode root) {
  3. //对当前节点进行判空
  4. if (root == null){
  5. return null;
  6. }
  7. //否则,交换当前节点的左右孩子节点
  8. TreeNode temp = root.left;
  9. root.left = root.right;
  10. root.right = temp;
  11. //递归,继续交换子节点的左右孩子节点
  12. invertTree(root.left);
  13. invertTree(root.right);
  14. //返回当前节点
  15. return root;
  16. }
  17. }