LeetCode 136: Invert Binary Tree

来源:互联网 发布:统计局房价数据 编辑:程序博客网 时间:2024/05/30 23:20

Invert a binary tree.

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

to

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

题目中的这句话亮了:

Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.

这题很简单,下面是我的答案:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     struct TreeNode *left; *     struct TreeNode *right; * }; */struct TreeNode* invertTree(struct TreeNode* root) {    if(NULL == root) return root;    invertTree(root->left);    invertTree(root->right);    struct TreeNode * temp = root->left;    root->left = root->right;    root->right = temp;    return root;}

后来又简化了一下:

struct TreeNode* invertTree(struct TreeNode* root) {    if(NULL == root) return root;    struct TreeNode * preright = root->right;    root->right = invertTree(root->left);    root->left = invertTree(preright);    return root;}
0 0
原创粉丝点击