【第22期】观点:IT 行业加班,到底有没有价值?

leecode 230. Kth Smallest Element in a BST

原创 2016年08月30日 17:18:06

扯犊子:我不乐意利用空间写这种树的遍历,尤其是后续遍历。有兴趣的可以考虑一下二叉查找树的性质进行寻找第k个最小值。

题意:在二叉树中寻找最小的第K个元素。

思路:我遍历了二叉树,将所有的数据存放到集合中,然后排序,直接利用集合的get()方法就取出来数了。

public int kthSmallest(TreeNode root, int k) {
		if (root == null)
			return 0;
		List<Integer> list = new ArrayList<Integer>();
		getList(root, list);
		//排序
		Collections.sort(list);
        //取结果,题意是结果一定会存在,所以直接取就行了
		return list.get(k - 1);
	}
    //遍历二叉树,将数据存放到集合中
	public void getList(TreeNode root, List<Integer> list) {
		if (root == null)
			return;
		list.add(root.val);
		getList(root.left, list);
		getList(root.right, list);
	}


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Kth Smallest Element in a BST

Given a binary search tree, write a function <code style="font-family: Menlo, Monaco, Consolas, 'Courier New', mon

leecode 解题总结:230. Kth Smallest Element in a BST

#include #include #include #include #include using namespace std; /* 问题: Given a binary search ...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Leetcode - Kth Smallest Element in BST

[分析] 思路1: 递归中序遍历,返回中序遍历中的第k个数。 思路2: 迭代方式实现的中序遍历,遍历到第k个数即返回。 思路3: 如果可以修改数结构,增加一个leftCount属性,记录当前节点左子树节点个数。 [ref] [url]http://bookshadow.com/webl...

【LectCode】230. Kth Smallest Element in a BST

题目: Given a binary search tree, write a function kthSmallest to find the kth smallest element...

Inorder Successor in BST

[分析] 参考[url]https://leetcode.com/discuss/59728/10-and-4-lines-o-h-java-c[/url] & [url]https://leetcode.com/discuss/59787/share-my-java-recursive...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)