翻转一棵二叉树。
示例
输入:
4 / \ 2 7 / \ / \ 1 3 6 9
输出:
4 / \ 7 2 / \ / \ 9 6 3 1
题目说是翻转二叉树,其实就是简单的翻转的先序遍历,即先访问根结点,再访问右子树,最后访问左子树。
class Solution {
public:
TreeNode* postOrderTraverse(TreeNode* root){
TreeNode* t = NULL;
if(root != NULL){
t = new TreeNode(root->val);
t->left = postOrderTraverse(root->right);
t->right = postOrderTraverse(root->left);
}
return t;
}
TreeNode* invertTree(TreeNode* root) {
return postOrderTraverse(root);
}
};
网友评论