- 博客(2)
- 收藏
- 关注
原创 Morris 中序遍历(c++实现)
一.中序遍历二叉树中序遍历就是将先遍历左子树,再遍历自身,最后再遍历右子树,形成左根右的形式,用递归的方式非常简单如下:void dfs(root){ if(!root) return; dfs(root->left); // 先递归左子树 cout<<root->val<<","; //再对根节点操作 dfs(root->right); // 最后递归右子树}二.Morris 思路:1.对于一个根节点root ,找到其左子树最后一个中序遍历
2020-09-24 17:17:12 801
原创 前 K 个高频元素(两种方法实现)
题目:这是leetcode上的一道题,首先,我们看下题目:给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]思路一:题目的要求是,获取出现频率最高的前 k个元素,既然是前 k 个,很明显就是用堆排序的方式去实现,步骤是:1.将前k个数,用构造成大根堆或者小根堆,因为我们是去前k个大的数,用小根堆。2.将剩余的元素一
2020-09-09 18:27:16 2098 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人