leetcode 226 翻转二叉树
1. 题意
给你一棵二叉树的根节点 root ,
翻转这棵二叉树,并返回其根节点。
2. 题意
典型的递归题目,翻转二叉树首先需要翻转它的两颗子树,再将左右子树进行交换。当然也可以先交换,再翻转两颗子树。
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:TreeNode* invertTree(TreeNode* root) {if (nullptr == root)return nullptr;auto l_tree = invertTree( root->left );auto r_tree = invertTree( root->right);root->left = r_tree;root->right = l_tree;return root;}
};