题目描述:

翻转一棵二叉树。

 LeetCode刷题笔记-递归-反转二叉树 算法

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

解题思路:

  1、对于二叉树,立马递归

  2、先处理 根节点,不需改动

  3、处根的左子树和右子树需要交换位置

  4、递归处理左子树和右子树。步骤见1-3步

Java代码实现:

 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 class Solution {
11     public TreeNode invertTree(TreeNode root) {
12         if(root==null){
13             return null;
14         }
15         TreeNode temp= root.left;
16         root.left=root.right;
17         root.right=temp;
18         invertTree(root.left);
19         invertTree(root.right);
20         return root;
21     }
22 }

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄