二叉搜索树的第k个结点
Posted lina2014
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉搜索树的第k个结点相关的知识,希望对你有一定的参考价值。
题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如:(5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
实现语言:Java
/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ import java.util.Stack; public class Solution { TreeNode KthNode(TreeNode root, int k){ if(root==null||k<=0){ return null; } Stack<TreeNode> stk=new Stack<TreeNode>(); while(!stk.isEmpty()||root!=null){ if(root!=null){ stk.push(root); root=root.left; }else{ root=stk.pop(); if(k==1){ return root; } --k; root=root.right; } } return null; } }
以上是关于二叉搜索树的第k个结点的主要内容,如果未能解决你的问题,请参考以下文章