题目描述:
翻转一棵二叉树。
解题思路:
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 }