leetcode-226-invert binay tree

Problem Description:

Invert a binary tree.

     4
   /   
  2     7
 /    / 
1   3 6   9

to

      4
    /   
  7     2
 /    / 
9   6 3   1

题目大意:

反转一个二叉树

Solutions:

递归调用函数本身即可,注意边界条件。

Code in 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) return root;
            if(!root->left&&!root->right) return root;
            else{
                TreeNode* teml = invertTree(root->right);
                TreeNode* temr = invertTree(root->left);
                root->left= teml;
                root->right=temr;
                return root;
                    }

            }
    };