038翻转二叉树
翻转二叉树题目链接https://leetcode.cn/problems/invert-binary-tree/description/?envTypestudy-plan-v2envIdtop-100-liked我的解答public TreeNode invertTree(TreeNode root) { if(rootnull){ return null; } TreeNode temproot.left; root.leftroot.right; root.righttemp; invertTree(root.left); invertTree(root.right); return root; }分析代码的时间复杂度为O(n)空间复杂度为O(n)。看了官方题解后的解答//官方题解的思路与我的解题思路相同 public TreeNode invertTree(TreeNode root) { if(rootnull){ return null; } TreeNode left invertTree(root.left); TreeNode right invertTree(root.right); root.leftright; root.rightleft; return root; }分析代码的时间复杂度为O(n)空间复杂度为O(n)使用的空间由递归栈的深度决定它等于当前节点在二叉树中的高度。在平均情况下二叉树的高度与节点个数为对数关系即 O(logn)。而在最坏情况下树形成链状空间复杂度为 O(n)。总结本题的本质还是二叉树的深度优先搜索递归。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2610229.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!