博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kth Smallest Element in a BST
阅读量:5101 次
发布时间:2019-06-13

本文共 1125 字,大约阅读时间需要 3 分钟。

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.

Note: 

You may assume k is always valid, 1 ≤ k ≤ BST's total elements.

Example 1:

Input: root = [3,1,4,null,2], k = 1   3  / \ 1   4  \   2Output: 1

Example 2:

Input: root = [5,3,6,2,4,null,null,1], k = 3       5      / \     3   6    / \   2   4  / 1Output: 3
1 /** 2  * Definition for a binary tree node. 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; } 8  * } 9  */10 public class Solution {11     public int kthSmallest(TreeNode root, int k) {12         int[] arr = new int[2];13         helper(root, arr, k);14         return arr[1];15     }16     17     public void helper(TreeNode root, int[] arr, int k) {18         if (root != null) {19             helper(root.left, arr, k);20             arr[0]++;21             if (arr[0] == k) {22                 arr[1] = root.val;23                 return;24             }25             helper(root.right, arr, k);26         }27     }28 }

 

转载于:https://www.cnblogs.com/beiyeqingteng/p/10783301.html

你可能感兴趣的文章
STL 算法罗列 (转)
查看>>
Linux下Hadoop分布式系统配置
查看>>
Kafka的配置文件详细描述
查看>>
【转】设计模式六大原则(1):单一职责原则
查看>>
iOS 绝对值方法
查看>>
linux crontab
查看>>
你应该知道的Linux历史
查看>>
Centos7配置ThinkPHP5.0完整过程(二)
查看>>
自学Python Day1
查看>>
logstash multiline
查看>>
ssh 认证指定端口
查看>>
[译] 在Web API 2 中实现带JSON的Patch请求
查看>>
hdu-1711(hash)
查看>>
Django 输出二维码
查看>>
python plt 如何画不同的数据图
查看>>
AutoTile 自动拼接(四) 学习与实践
查看>>
ES API公约
查看>>
第七章学习小结
查看>>
Android Baseline小tip
查看>>
Linux系统重要快捷键& Shell 常用通配符
查看>>