66道牛客程式設計題 二叉搜尋樹的第k個結點

2021-09-27 13:57:26 字數 572 閱讀 6365

給定一棵二叉搜尋樹,請找出其中的第k小的結點。例如, (5,3,7,2,4,6,8) 中,按結點數值大小順序第三小結點的值為4。

用中序遍歷,這樣得到的列表是排好序的

class

solution

:# 返回對應節點treenode

defkthnode

(self, proot, k)

:# write code here

ifnot proot:

return

none

self.res=

self.midorder(proot)if0

len(self.res)

:return self.res[k-1]

return

none

defmidorder

(self,proot):if

not proot:

return

none

self.midorder(proot.left)

self.midorder(proot.right)

留意它的寫法

牛客66道程式設計題 平衡二叉樹

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。csdn博主詳細解釋 二叉查詢樹與平衡二叉樹 平衡二叉樹 一顆高度平衡的二叉查詢樹 自頂向下,對於每個節點,都計算一下左子樹以及右子樹的差的絕對值。利用兩個迭代實現 class solution def isbalanced solution self,...

牛客66道程式設計題 替換空格

class solution s 源字串 defreplacespace self,s write code here return s.replace 20 class solution s 源字串 defreplacespace self,s write code here s list s 把...

牛客66道程式設計題 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 當只有1個台階時,只有一種跳法,那就是1。當有2個台階時,則有兩種跳法,分別是1 1和2。當有3個台階時,則有3種跳法,分別是1 1 1,1 2和2 1。當有4個台階時,則有5種跳法,...