算法刷题记录.leetcode226.翻转二叉树

71 阅读1分钟

题目描述

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

 

示例 1:

分析

递归三部曲

  1. 确定递归函数的参数和返回值
  2. 确定终止条件:当前节点为空的时候,就返回
  3. 确定单层递归的逻辑:因为是先前序遍历,所以先进行交换左右孩子节点,然后反转左子树,反转右子树。

代码

class Solution {

public:

TreeNode* invertTree(TreeNode* root) {

if(root == nullptr) return root;

swap(root->left,root->right);

invertTree(root->left);

invertTree(root->right);

return root;

}

};