题目描述
翻转一棵二叉树。
解题思路
1、代码1(递归):将右子树的位置和左子树的位置交换。如实例所示,以4为根节点,将4的右子树与4的左子树交换,其次,以7为根节点,将7的右子树与左子树交换,以2为根节点,将2的右子树与2的左子树交换。因此,遍历二叉树的顺序应该是left,right ,root。
2、代码2(迭代):在层序遍历的基础上,交换左节点和右节点;
代码1
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null){