劍指offer——(20)二叉搜尋樹的第k個結點
阿新 • • 發佈:2019-01-05
最近作業好多 幾門結課作業一起來 很煩啊
中序遍歷二叉搜尋樹得到的就是升序的結點排列,遍歷的時候加個判斷是不是第k個結點就行了。
/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { TreeNode result = null; int count = 1; TreeNode KthNode(TreeNode pRoot, int k){ if(k==0) return null; midOrder(pRoot, k); return result; } void midOrder(TreeNode p,int k){ //System.out.println(p.val + " K:"+k); if(p==null) return; midOrder(p.left, k); if(k==count) { result = p; } count++; midOrder(p.right, k); } }