897. Increasing Order Search Tree
Posted captain-dl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了897. Increasing Order Search Tree相关的知识,希望对你有一定的参考价值。
题目来源:
https://leetcode.com/problems/increasing-order-search-tree/
自我感觉难度/真实难度:medium/easy
题意:
分析:
自己的代码:
优秀代码:
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def increasingBST(self, root): """ :type root: TreeNode :rtype: TreeNode """ array=self.inOrder(root) if not array: return newRoot=TreeNode(array[0]) curr=newRoot for i in range(1,len(array)): curr.right=TreeNode(array[i]) curr=curr.right return newRoot def inOrder(self,root): if not root: return [] res=[] res.extend(self.inOrder(root.left)) res.append(root.val) res.extend(self.inOrder(root.right)) return res
代码效率/结果:
Runtime: 200 ms, faster than 45.33% of Python3 online submissions forIncreasing Order Search Tree.
class Solution: def increasingBST(self, root): dummy = TreeNode(0) self.prev = dummy def inorder(root): if not root: return None inorder(root.left) root.left = None self.prev.right = root self.prev = root inorder(root.right) inorder(root) return dummy.right
Runtime: 160 ms, faster than 63.16% of Python3 online submissions forIncreasing Order Search Tree.
自己优化后的代码:
反思改进策略:
1.前序遍历不熟悉,需要熟练编写这个代码
2.看不懂优化的第二个解答: .prev TreeNode(0)
以上是关于897. Increasing Order Search Tree的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 897 Increasing Order Search Tree 解题报告
LeetCode.897-递增搜索树(Increasing Order Search Tree)
[leetcode] Increasing Order Search Tree
950. Reveal Cards In Increasing Order