zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    JavaScript DOM 选择器 querySelector
    JavaScript call()函数的应用
    flex布局中 align-items 和 align-content的区别
    移动端WEB
    触发器与存储过程
    游标
    触发器---存储过程---存储函数
    mysql中check无效
    mysql唯一性约束和索引
    分页查询
  • 原文地址:https://www.cnblogs.com/captain-dl/p/10165865.html
Copyright © 2011-2022 走看看