zoukankan      html  css  js  c++  java
  • C语言递归之翻转二叉树

    题目描述

    翻转一棵二叉树。

    示例

    输入:

         4
       /   
      2     7
     /    / 
    1   3 6   9

    输出:

         4
       /   
      7     2
     /    / 
    9   6 3   1

    题目要求

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     struct TreeNode *left;
     6  *     struct TreeNode *right;
     7  * };
     8  */
     9 
    10 struct TreeNode* invertTree(struct TreeNode* root){
    11 
    12 }

    题解

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     struct TreeNode *left;
     6  *     struct TreeNode *right;
     7  * };
     8  */
     9 
    10 struct TreeNode* invertTree(struct TreeNode* root){
    11     if(root==NULL)return root;
    12     struct TreeNode *r=(struct TreeNode*)malloc(sizeof(struct TreeNode));
    13     r->val=root->val;
    14     if(root->left!=NULL)r->right=invertTree(root->left);
    15     else r->right=NULL;
    16     if(root->right!=NULL)r->left=invertTree(root->right);
    17     else r->left=NULL;
    18     return r;
    19 }
    题解

    递归

    递归需要明确终止条件、返回值、递归内容,二叉树问题还需注意根节点为空的特殊情况。

    题目来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/invert-binary-tree/
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 相关阅读:
    可爱精灵宝贝 DP/爆搜
    那些年留的坑
    吃某种零食ing
    NOIP模拟测试13
    NOIP模拟测试12
    NOIP模拟测试11
    大佬 (数学)
    BZOJ3331 BZOJ2013 压力
    LOJ2586 APIO2018 选圆圈
    BZOJ3398 牡牛和牝牛
  • 原文地址:https://www.cnblogs.com/shi-champion/p/11664573.html
Copyright © 2011-2022 走看看