题目描述

翻转一棵二叉树。

示例

输入:

   /   \

 / \   / \
       

输出:

   /   \

 / \   / \
       

题目要求

 /**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/ struct TreeNode* invertTree(struct TreeNode* root){ }

题解

 /**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/ struct TreeNode* invertTree(struct TreeNode* root){
if(root==NULL)return root;
struct TreeNode *r=(struct TreeNode*)malloc(sizeof(struct TreeNode));
r->val=root->val;
if(root->left!=NULL)r->right=invertTree(root->left);
else r->right=NULL;
if(root->right!=NULL)r->left=invertTree(root->right);
else r->left=NULL;
return r;
}

题解

递归

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

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

最新文章

  1. Single Responsibility Principle 单一职责原则
  2. Android九宫格界面实现点击每个格点击跳转界面
  3. git之远程标签下载(远程分支)
  4. 数据结构和算法 – 11.高级排序算法(下)
  5. [SAP ABAP开发技术总结]逻辑数据库
  6. 347. Top K Frequent Elements
  7. bzoj 1041: [HAOI2008]圆上的整点 数学
  8. tornado学习精要
  9. c# Unicode字符串的解码
  10. Nuget 学习三
  11. 网页头部 lang的声明
  12. linux 访问到对应的接口
  13. PHP算法学习(6) 单向链表 实现栈
  14. 软件测试_Linux
  15. c# 制作弹窗
  16. Dinic算法——重述
  17. Intel 设计缺陷背后的原因是什么? | Linux 中国
  18. ARM的Trust Zone技术
  19. VNC的安装和常用命令
  20. Metro Revealed: Building Windows 8 apps with XAML and C# 阅读笔记

热门文章

  1. 【bzoj2141】排队 [国家集训队2011]排队(树套树)
  2. HDU5514——容斥原理&&gcd
  3. oracle汉字排序
  4. Codeforces工具总结
  5. 洛谷P1436 棋盘分割
  6. 小米 oj 硬币比赛(思维+动态规划)
  7. springMVC配置拦截器、过滤器、前端控制器时遇到的问题总结
  8. moveLeft()
  9. 整个系统禁用复制功能下,js实现部分数据的复制功能
  10. crawler 使用jQuery风格实现