【题目】
【方法一:中序遍历】 根据二叉排序树的特点,其中序遍历序列为一个递增有序序列。
写法一:中序遍历的递归写法。
代码:
结果:
写法二:中序遍历的非递归写法
代码:
结果:
【方法二:递归解法】 统计一下左子树有多少个结点。如果为k-1个,那么root就是第k个。 如果左子树结点个数多于k-1个,那么就在左子树中找第k个。 如果左子树结点个数小于k-1个,那么就在右子树中找。
代码:
结果:
|
【题目】
【方法一:中序遍历】 根据二叉排序树的特点,其中序遍历序列为一个递增有序序列。
写法一:中序遍历的递归写法。
代码:
结果:
写法二:中序遍历的非递归写法
代码:
结果:
【方法二:递归解法】 统计一下左子树有多少个结点。如果为k-1个,那么root就是第k个。 如果左子树结点个数多于k-1个,那么就在左子树中找第k个。 如果左子树结点个数小于k-1个,那么就在右子树中找。
代码:
结果:
|