題目描述
給定一顆二叉搜尋樹,請找出其中的第k大的結點。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按結點數值大小順序第三個結點的值為4。
解題思路:使用中序遍歷進行遍歷,得到的就是按照順序的,當遍歷到第k個就輸出即可。
1/*2struct treenode 9};
10*/
11class
solution
21if(target == null)//
無左節點且還未找到,返回其葉子節點的父節點,k--
2227
if(target == null && root->right != null)//
找右結點
2831
return
target;32}
33 treenode* kthnode(treenode* proot, int
k)34
39 };
62 劍指offer 二叉搜尋樹的第k個結點
給定一棵二叉搜尋樹,請找出其中的第k小的結點。例如,5,3,7,2,4,6,8 中,按結點數值大小順序第三小結點的值為4。非遞迴中序遍歷 nice treenode kthnode treenode root,int k else while node null stack.isempty retu...
劍指offer 二叉樹 二叉樹搜尋樹
package bst import j a.util.public class bst if pre.length 0 in.length 0 treenode root new treenode pre 0 for int i 0 i in.length i return root 判斷給定陣列...
劍指Offer62 二叉搜尋樹的第k個結點
給定一棵二叉搜尋樹,請找出其中的第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 ...