尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

LeetCode hot100——二叉搜索树中第 K 小的元素

LeetCode hot100——二叉搜索树中第 K 小的元素 题目给定一个二叉搜索树的根节点root和一个整数k请你设计一个算法查找其中第k小的元素k从 1 开始计数。示例 1输入root [3,1,4,null,2], k 1输出1示例 2输入root [5,3,6,2,4,null,null,1], k 3输出3提示树中的节点数为n。1 k n 1040 Node.val 104进阶如果二叉搜索树经常被修改插入/删除操作并且你需要频繁地查找第k小的值你将如何优化算法题解/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val val; * this.left left; * this.right right; * } * } */ class Solution { public int kthSmallest(TreeNode root, int k) { int num 0; DequeTreeNode stk new LinkedListTreeNode(); while(!stk.isEmpty() || root ! null){ while(root ! null){ stk.push(root); root root.left; } root stk.pop(); num; if(num k){ return root.val; } root root.right; } return 0; } }
返回列表