算法
ruozhixian
这个作者很懒,什么都没留下…
展开
-
leetcode 107. Binary Tree Level Order Traversal II ( 二叉树的层次遍历 II)
1. 思路 (1)使用 list 实现队列,控制进出,从上到下,找出每一层,添加, list.add(0, listLevel)。(BFS) (2)DFS,先建好每一层的list,然后插入元素值。 2. 实现 2.1 dfs class Solution { List<List<Integer>> list = new LinkedList<&g...原创 2018-04-09 15:04:28 · 229 阅读 · 0 评论 -
leetcode 99. Recover Binary Search Tree
1. 思路 中序遍历,找出其中不符合规律的节点,交换。 2. 实现 2.1 递归 当然,这样并不能符合常量空间的要求。 class Solution { TreeNode first = null, second = null, pre = new TreeNode(Integer.MIN_VALUE); public void recoverTree(TreeNode...原创 2018-04-05 18:11:58 · 88 阅读 · 0 评论 -
找到第k小的数字 VS 文件中出现频率最高的10个单词
1. 找到第k小的数字 1.1 描述 在一个无序数组中找到第k小的数字 1.2 方法1 强行排序之后,即可很容易地找到。 1.3 方法2 参考快排,选定某一个数为标准,如果执行一次快排的操作之后,左边有(k-1)个比它小,此数恰好处在位置k上,那么就是它。 1.4 方法3 (数组中数据很多) 取前k个数,建立最大堆,然后依次取后面的元素与堆顶比较,更新、整理堆。 ...原创 2018-04-21 13:46:00 · 219 阅读 · 0 评论