LeetCode 之 JavaScript 解答第226题 —— 翻转二叉树(Invert Binary Tree)
栏目: JavaScript · 发布时间: 6年前
内容简介:Time:2019/4/21Title: Invert Binary TreeDifficulty: Easy
Time:2019/4/21
Title: Invert Binary Tree
Difficulty: Easy
Author: 小鹿
题目:Invert Binary Tree(反转二叉树)
Invert a binary tree.
反转二叉树
Example:
Input:
4 / \ 2 7 / \ / \ 1 3 6 9
Output:
4 / \ 7 2 / \ / \ 9 6 3 1
Solve:
▉ 问题分析
由上图可以分析反转二叉树,只是对左右子树的数据进行交换,再仔细观察,并不是每个节点的左右子树进行交换,而是左子树的叶子节点和右子树的叶子节点进行交换,另外两个子节点进行交换,那我们不得不用到递归了。
▉ 算法思路
2)左右子树结点交换。 3)分别对左右子树进行递归。
▉ 代码实现
var invertTree = function(root) {
//判断当前树是否为 null
if(root == null) return root;
//左右子树结点交换
let right = root.right;
let left = root.left;
root.right = left;
root.left = right;
//分别对左右子树进行递归
invertTree(left);
invertTree(right);
//返回树的根节点
return root;
};
欢迎一起加入到 LeetCode 开源 Github 仓库,可以向 me 提交您其他语言的代码。在仓库上坚持和小伙伴们一起打卡,共同完善我们的开源小仓库!
Github: https://github.com/luxiangqia...
欢迎关注我个人公众号:「一个不甘平凡的码农」,记录了自己一路自学编程的故事。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- canvas 图像旋转与翻转姿势解锁
- CSS3实现卡片翻转动画效果
- canvas 图像旋转与翻转姿势解锁
- 图解:K 个一组翻转链表
- leetcode 25. k个一组翻转链表
- 简单几步,用纯CSS3实现3D翻转效果!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
用户故事与敏捷方法
Mike Cohn / 石永超、张博超 / 清华大学出版社 / 2010-4 / 39.00元
《用户故事与敏捷方法》详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如何搜集和整理用户故事,如何排列用户故事的优先级,进而澄清真正适合用户需求的、有价值的功能需求。 《用户故事与敏捷方法》对于软件开发人员、测试人员、需求分析师和管理者,具有实际的指导意义和重要的参考价值。一起来看看 《用户故事与敏捷方法》 这本书的介绍吧!