劍指Offer62 二叉搜尋樹的第k個結點

2021-09-10 01:59:51 字數 686 閱讀 3654

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

思路:

# -*- coding:utf-8 -*-

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class solution:

# 返回對應節點treenode

def kthnode(self, proot, k):#取第k個

# write code here

global result

result=

self.midnode(proot)

if k<=0 or len(result)return none

else:

return result[k-1]

def midnode(self,root):#中序遍歷

if not root:

return none

self.midnode(root.left)

self.midnode(root.right)

劍指offer 62 二叉搜尋樹的第k個結點

package project 題目 二叉搜尋樹的第k個結點。給定一棵二叉搜尋樹,請找出其中的第k小的結點。例如 5,3,7,2,4,6,8 中,按結點數值大小順序第三小結點的值為4。author hexiaoli 思路 劍指offer 二叉搜尋樹 左子結點的值 根結點的值 右子結點的值。二叉搜尋樹...

劍指offer62 二叉搜尋樹的第k個結點

給定一棵二叉搜尋樹,請找出其中的第k小的treenode結點。思路1 最直接的,我們知道將一棵二叉搜尋樹進行中序遍歷,得到的結果就是公升序排列的,這樣就能輕鬆找到了。實現 class solution treenode kthnode treenode proot,int k 仔細想想上面的實現,不...

劍指offer(62)二叉搜尋樹的第K個節點

給定一棵二叉搜尋樹,請找出其中的第k小的結點。例如,5,3,7,2,4,6,8 中,按結點數值大小順序第三小結點的值為4。首先,我們可以先畫圖。畫完圖後我們要想辦法從中找出第k小的節點。因為這是二叉搜尋樹,我們可以輕易發現它的中序遍歷序列就是從小到大排列,也就是我們可以直接中序遍歷,同時計數,就可以...