LeetCode 226. Invert Binary Tree

来源:互联网 发布:windows 高精度sleep 编辑:程序博客网 时间:2024/04/26 04:04

题目:
Invert a binary tree.

     4   /   \  2     7 / \   / \1   3 6   9

to

     4   /   \  7     2 / \   / \9   6 3   1

思路:
如果根节点为NULL直接返回NULL;否则 将左右子节点交换,再递归调用,返回根节点。

代码:

/** * 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(NULL==root){//如果根节点为NULL直接返回NULL            return NULL;          }        TreeNode * tmp = root->left;//将左右子节点交换        root->left = root->right;          root->right = tmp;          invertTree(root->left);//递归调用        invertTree(root->right);        return root; //返回根节点     }};

**输出结果:**3ms

0 0
原创粉丝点击