力扣226. 翻转二叉树

递归

  • 思路:
    • 从根开始递归遍历二叉树,叶节点开始翻转;
    • 如果遍历到的当前的 root 节点左右两棵子树已经翻转,交换左右子树即可;
cpp 复制代码
/**
 * 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 (root == nullptr) {
            return nullptr;
        }

        TreeNode* left = invertTree(root->left);
        TreeNode* right = invertTree(root->right);
        root->left = right;
        root->right = left;

        return root;
    }
};
相关推荐
不许哈哈哈20 分钟前
Python数据结构
数据结构·算法·排序算法
J***79391 小时前
后端在分布式系统中的数据分片
算法·哈希算法
Dream it possible!2 小时前
LeetCode 面试经典 150_二叉搜索树_二叉搜索树中第 K 小的元素(86_230_C++_中等)
c++·leetcode·面试
sin_hielo3 小时前
leetcode 2872
数据结构·算法·leetcode
dragoooon343 小时前
[优选算法专题八.分治-归并 ——NO.49 翻转对]
算法
AI科技星3 小时前
为什么宇宙无限大?
开发语言·数据结构·经验分享·线性代数·算法
Zero-Talent4 小时前
位运算算法
算法
不穿格子的程序员4 小时前
从零开始刷算法——双指针-三数之和&接雨水
算法·双指针
合方圆~小文4 小时前
AI摄像头精准识别技术依赖于深度算法
数据结构·数据库·数码相机·模块测试
无限进步_5 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio