刷题总结
文章平均质量分 63
呵呵....
这个作者很懒,什么都没留下…
展开
-
最小的 K 个数总结
最小的 K 个数 题目描述 给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组。(数据顺序不限) 解法一:先排序,后选择 使用快排将数组进行升序排序,然后取出前 K 个数即可。 void swap(vector<int>& array, int i, int j) { if (i != j) { int temp = array[i];原创 2021-04-24 17:11:47 · 283 阅读 · 0 评论 -
二叉树遍历
二叉树遍历 先序遍历 递归版 void preorderR(TreeNode* root) { if (root != nullptr) { // 在这里添加你要进行的操作,比如显示节点数据 visit(root); preorder(root->left); preorder(root->right); } } 非递归版 需要使用新建一个栈将结点元素按规则存入栈中。代码如下: void preorder(Tre原创 2021-04-23 20:50:29 · 67 阅读 · 0 评论 -
排序算法总结
排序算法总结 比较类排序 交换排序 冒泡排序 冒泡排序:它重复地走访要排序的数列,依次比较两个元素,如果他们的顺序不满足升序(降序)要求就把它们交换回来。 算法描述(升序为例) 步骤一:比较相邻的元素。如果第一个比第二个大,就交换; 步骤二:对每一对相邻元素做同样的工作,从开始第一对到结尾最后一对,这样最后的元素应该是最大的数; 步骤三:将最后一个元素拿出,针对所有元素重复上述步骤; 代码 void bubbleSort(vector<int>& array)原创 2021-04-22 11:17:01 · 93 阅读 · 0 评论 -
反转链表总结
反转链表总结 题目描述 [输入一个链表,反转链表后,输出新链表的表头。] 基础定义 #include<bits/stdc++.h> #include<cstdio> using namespace std; struct ListNode { int val; struct ListNode* next; ListNode(int x) : val(x), next(nullptr){} }; 代码-递归版 ListNode* reverseListR原创 2021-04-20 20:46:51 · 117 阅读 · 0 评论