1. 程式人生 > >Leetcode---二叉搜尋樹中第K小的元素--遞迴

Leetcode---二叉搜尋樹中第K小的元素--遞迴

二叉搜尋樹中第K小的元素

題目連結:二叉搜尋樹中第K小的元素

思路:
  • 中序遍歷一個二叉搜尋樹,得到的是一個有序序列
  • 根據這個原理,我們使用遞迴遍歷,僅需要找到第K次彈棧的元素即可
程式碼:
	int count = 0;
	int val = 0;
	public int kthSmallest(TreeNode root, int k) {
		kthSmallest1(root,k);
		return val;
    }
	public void kthSmallest1(TreeNode root, int k) {
		if(root!=
null) { kthSmallest1(root.left,k); ++count; if(count==k) { val = root.val; return ; } kthSmallest1(root.right,k); } }