LeetCode 226 Invert Binary Tree

来源:互联网 发布:qq五子棋游戏的源码 编辑:程序博客网 时间:2024/06/10 05:35

大意是,给一个二叉树,要求把二叉树镜像翻转,解决思路是递归反转,对于每一个节点,分别对换它的左节点和右节点,之后根据有无子节点的情况递归进行操作。

题目链接

代码如下

class Solution {public:    void dfs(TreeNode* node) {        swap(node->left, node->right);        if (node->left) {            if (node->right) {                dfs(node->left);                dfs(node->right);            }            else {                dfs(node->left);            }        }        else {            if (node->right) {                dfs(node->right);            }            else {                return;            }        }    }        TreeNode* invertTree(TreeNode* root) {        if (root != NULL) {            dfs(root);        }        return root;    }};


原创粉丝点击