leetcode 226. Invert Binary Tree(二叉树的镜像)

leetcode 226. Invert Binary Tree

题目

Total Accepted: 76777 Total Submissions: 172853 Difficulty: Easy
Invert a binary tree.

leetcode 226. Invert Binary Tree(二叉树的镜像)_第1张图片

答案1(c++)

    /**
      * Definition for a binary tree node.
      * struct TreeNode {
      *     int val;
      *     TreeNode *left;
      *     TreeNode *right;
      *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
      * };
      */
     class Solution {
         public:
          TreeNode* invertTree(TreeNode* root) {
          if(root==NULL)
                return NULL;    

            TreeNode* ptmpNode=root->left;  //临时的交换变量

            root->left=invertTree(root->right);
            root->right=invertTree(ptmpNode);

            return root;        
        }
    };

答案2(Java)

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public TreeNode invertTree(TreeNode root) {

        if(root==null)
            return null;

        TreeNode temp=root.left;

        root.left=invertTree(root.right);
        root.right=invertTree(temp);

        return root;            
    }
}

你可能感兴趣的:(Leetcode)