算法第十七周作业01
来源:互联网 发布:ky什么意思网络用语 编辑:程序博客网 时间:2024/06/05 10:42
Description
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.
Solution
- 获取左子树的节点数number
如果左子树节点数刚好为k-1,说明该节点为第k个,否则向左子树找或者向右子树找。
Code
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public int kthSmallest(TreeNode root, int k) { int number = number(root.left); if (number == k - 1) { // 如果左子树节点数刚好为k-1,说明该节点为第k个 return root.val; } else if (number >= k) { // 第k个在左子树 return kthSmallest(root.left, k); } else { // 第k个在右子树 return kthSmallest(root.right, k - 1 - number); } } // 获取该节点的所有叶子数 public int number(TreeNode node) { if (node == null) { return 0; } else { return number(node.left) + number(node.right) + 1; } }}
阅读全文
0 0
- 算法第十七周作业01
- 算法作业_29(2017.6.12第十七周)
- 算法作业_30(2017.6.13第十七周)
- 算法作业_31(2017.6.14第十七周)
- 算法作业_32(2017.6.15第十七周)
- 算法课第十七周作业 | Same Tree
- 第十七周作业 1.0
- 第十七周作业1
- 第十七周作业
- 第十七周作业
- 算法设计与结构基础作业第十七周
- 算法作业_33(2017.6.16第十七周)(算法机考模拟题1)
- 算法作业_34(2017.6.16第十七周)(算法机考模拟题2)
- 算法作业_35(2017.6.16第十七周)(算法机考模拟题3)
- 算法作业_36(2017.6.16第十七周)(算法机考模拟题5)
- 第十七周算法题
- 第十七周LeetCode算法题
- 第十七周算法设计与分析:Minesweeper
- 模板匹配
- [JAVA学习笔记-80]Java service wrapper入门
- [Havok学习笔记(1)] Havok概述
- Go语言学习之flag包(The way to go)
- HTML嵌套Flash播放视频
- 算法第十七周作业01
- 把vim打造成C++ IDE
- 几行代码快速集成二维码扫描库
- 比较不错的Android framework技术博客
- 1025 选菜
- AlexNet层级分析
- [JAVA学习笔记-81]定位dead lock的几种方法
- JAVA基础,集合框架
- spring学习之@ModelAttribute运用详解