首页 > 其他 > 详细

[Lintcode]85. Insert Node in a Binary Search Tree/[Leetcode]701. Insert into a Binary Search Tree

时间:2019-02-14 20:30:47      阅读:187      评论:0      收藏:0      [点我收藏+]

85. Insert Node in a Binary Search Tree/701. Insert into a Binary Search Tree

  • 本题难度: Easy/Medium
  • Topic: Binary Tree
    Given a binary search tree and a new tree node, insert the node into the tree. You should keep the tree still be a valid binary search tree.

Example
Example 1:
Input: tree = {}, node = 1
Output: 1

Explanation:
Insert node 1 into the empty tree, so there is only one node on the tree.

Example 2:
Input: tree = {2,1,4,3}, node = 6
Output: {2,1,4,3,6}

Explanation: 
Like this:



  2             2
 / \           / 1   4   -->   1   4
   /             / \ 
  3             3   6
    

Challenge
Can you do it without recursion?

Notice
You can assume there is no duplicate values in this tree + node.

Description

我的代码 for leetcode

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None




class Solution:
    """
    @param: root: The root of the binary search tree.
    @param: node: insert this node into the binary search tree
    @return: The root of the new binary search tree.
    """
    def insertIntoBST(self, root, node):
        # write your code here
        if root is None:
            return TreeNode(node)
        pos = root
        while(pos):
            if pos.val<node:
                if pos.right:
                    pos = pos.right
                else:
                    pos.right = TreeNode(node)
                    return root
            else:
                if pos.left:
                    pos = pos.left
                else:
                    pos.left = TreeNode(node)
                    return root
        

        

思路
不需要平衡

  • 时间复杂度 O(log(n))

[Lintcode]85. Insert Node in a Binary Search Tree/[Leetcode]701. Insert into a Binary Search Tree

原文:https://www.cnblogs.com/siriusli/p/10378320.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!