leetcode226翻转二叉树(JAVA版)

翻转一棵二叉树。
leetcode226翻转二叉树(JAVA版)_第1张图片
leetcode226翻转二叉树(JAVA版)_第2张图片

/**
 * 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) return null;
        //下面三句是将当前节点的左右子树交换
      	TreeNode tmp = root.right;
      	root.right = root.left;
      	root.left = tmp;
      	//递归交换当前节点的 左子树
      	invertTree(root.left);
      	//递归交换当前节点的 右子树
      	invertTree(root.right);
        return root;
    }
}

你可能感兴趣的:(刷题,leetcode,java)