美文网首页
2019-02-15 Day41待提高

2019-02-15 Day41待提高

作者: 骚得过火 | 来源:发表于2019-02-15 21:13 被阅读0次

翻转一棵二叉树。

示例:

输入:

4
/
2 7
/ \ /
1 3 6 9

输出:

4
/
7 2
/ \ /
9 6 3 1

备注:
这个问题是受到 Max Howell 原问题 启发的 :

谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。


/**
 * 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 == NULL )
        {
            return root;
        }
        else
        {
            TreeNode * temp = root -> left ;
            root -> left = root ->right ;
            root -> right = temp ;
            
            invertTree ( root -> left );
            invertTree ( root -> right );
        }
        return root;
        
    }
};

相关文章

网友评论

      本文标题:2019-02-15 Day41待提高

      本文链接:https://www.haomeiwen.com/subject/wqfveqtx.html