/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return TreeNode类 */ TreeNode* invertTree(TreeNode* root) { // write code here if (root == nullptr) return nullptr; TreeNode* temp = root->left; root->left = root->right; root->right = temp; //此三行代码可以放前面也可以放中间也可以放后面,和二叉树的前序中序后序遍历一样随意防止在三个地方 invertTree(root->left); invertTree(root->right); return root; } };
一、题目考察的知识点
二叉树遍历
二、题目解答方法的文字分析
直接递归二叉树,然后从下往上依次交换节点的值
三、本题解析所用的编程语言
c++