把二叉搜尋樹轉化成更大的樹

2021-09-05 13:02:26 字數 891 閱讀 8422

"""

definition of treenode:

class treenode:

def __init__(self, val):

self.val = val

self.left, self.right = none, none

"""class solution:

"""@param root: the root of binary tree

@return: the new root

"""def __init__(self):

self.lsum = 0

def convertbst(self, root):

# write your code here

if root is none:

return none

self.convertbst(root.right)# 初始化 lsum為右節點

self.lsum += root.val # 右節點加根節點值

root.val = self.lsum # 把值賦給根節點

self.convertbst(root.left) #遞迴左潔典

return root

給定二叉搜尋樹(bst),將其轉換為更大的樹,使原始bst上每個節點的值都更改為在原始樹中大於等於該節點值的節點值之和(包括該節點)。

given a binary search tree ``:

5

/ \

2 13

return the root of new tree

18

/ \

20 13

把二叉搜尋樹轉化成更大的樹

definition of treenode class treenode def init self,val self.val val self.left,self.right none,none class solution param root the root of binary tree ...

BST 把搜尋二叉樹轉化成雙鏈表

題目 epi 雙鏈表的節點和二叉樹節點類似,left當做前繼節點prev,right當做後繼節點next typedef shared ptrpnode 返回值是pair型別,first是雙鏈表第乙個節點,second是雙鏈表最後乙個節點 paircovert bst to doublelist c...

BST 把搜尋二叉樹轉化成雙鏈表

題目 epi 雙鏈表的節點和二叉樹節點類似,left當做前繼節點prev,right當做後繼節點next typedef shared ptr pnode 返回值是pair型別,first是雙鏈表第乙個節點,second是雙鏈表最後乙個節點 paircovert bst to doublelist ...