Leetcode NO.226 Invert Binary Tree 翻转二叉树
2021/12/26 6:10:23
本文主要是介绍Leetcode NO.226 Invert Binary Tree 翻转二叉树,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1.问题描述
- 2.测试用例
- 示例 1
- 3.代码
- 节点信息
- 1.前序反转
- code
- 复杂度
- 2.后序反转
- code
- 复杂度
1.问题描述
翻转一棵二叉树。
2.测试用例
示例 1
输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1
3.代码
节点信息
public class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int val) { this.val = val; } public TreeNode(int val, TreeNode left, TreeNode right) { this.val = val; this.left = left; this.right = right; } }
1.前序反转
code
public TreeNode invertTreeWithPreOrder(TreeNode root) { if (root == null) { return null; } TreeNode tmp = root.left; root.left = root.right; root.right = tmp; invertTreeWithPreOrder(root.left); invertTreeWithPreOrder(root.right); return root; }
复杂度
* 时间复杂度 O(n) * 空间复杂度 O(logn)
2.后序反转
code
public TreeNode invertTreeWithPostOrder(TreeNode root) { if (root == null) { return null; } invertTreeWithPostOrder(root.left); invertTreeWithPostOrder(root.right); TreeNode tmp = root.left; root.left = root.right; root.right = tmp; return root; }
复杂度
* 时间复杂度 O(n) * 空间复杂度 0 (logn)
这篇关于Leetcode NO.226 Invert Binary Tree 翻转二叉树的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享