lintcode翻转二叉树

翻转二叉树 

Accepted

总耗时:  254 ms
100% 数据通过测试.
还没解决的相关题目 389. 判断数独是否合法 248. 统计比给定整数小的数的个数 249. 统计前面比自己小的数的个数 131. 大楼轮廓 370. 将表达式转换为逆波兰表达式
太牛了,把AC的喜悦分享给你的朋友吧!

解析:这道题的树并不是二叉查找树,所以对每个结点的左右结点交换即可。

/**
 * Definition of TreeNode:
 * class TreeNode {
 * public:
 *     int val;
 *     TreeNode *left, *right;
 *     TreeNode(int val) {
 *         this->val = val;
 *         this->left = this->right = NULL;
 *     }
 * }
 */


class Solution {
public:
    /*
     * @param root: a TreeNode, the root of the binary tree
     * @return: nothing
     */
    void invertBinaryTree(TreeNode * root) {
        // write your code here
        if(root==NULL)
        return ;
        invertBinaryTree(root->left);//后续遍历,先对左右结点操作
        invertBinaryTree(root->right);
        TreeNode *tmp;
        tmp=root->left;
        root->left=root->right;
        root->right=tmp;
    }
};


你可能感兴趣的:(算法,C/C++算法,lintcode)