C++
Silvia+
这个作者很懒,什么都没留下…
展开
-
【LeetCode】链表——旋转链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/197/conclusion/767/思路:将链表做了k次循环,每次将表尾移动到表头生成新链表,但是要考虑到k值大于表长len时,有k轮的循环是无意义的,因此循环次数应为k%len。/** * Definition for singly-linked list. * str...原创 2020-02-24 13:55:18 · 212 阅读 · 0 评论 -
【LeetCode】链表——复制带随机指针的链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/197/conclusion/766/思路:先遍历一次原链表,将其拷贝下来(注意拷贝时要新建节点);二次遍历时,添加random索引,刚开始我将原链表中的random值直接赋给拷贝后的链表,后来发现问题所在,要在新拷贝的链表中添加索引,需要参照原链表的相对位置,因此添加了一个f...原创 2020-02-24 13:36:12 · 133 阅读 · 0 评论 -
【LeetCode】链表——扁平化多级双向链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/197/conclusion/764/思路:顺着child结点链接链表前部分,将child后面的部分按顺序链起来,遍历完原链表之后,再将两部分整合。代码:/*// Definition for a Node.class Node {public: int val...原创 2020-02-23 14:51:46 · 183 阅读 · 0 评论 -
【LeetCode】链表——小结、合并两个有序链表、两数相加
合并两个有序链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: L...原创 2020-02-23 14:37:39 · 308 阅读 · 0 评论 -
【LeetCode】双链表——设计链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/196/doubly-linked-list/759/代码:class MyLinkedList {struct ListNode{ int val; ListNode *prev,*next; ListNode(int val):val(val),p...原创 2020-02-22 18:20:41 · 477 阅读 · 0 评论 -
【LeetCode】链表——回文链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/754/回文链表是指正序和逆序均相同的链表。思路:使用快慢指针将链表一分为二,找到链表的中间节点后,将链表的后半部分进行反转,比较反转后的链表是否与前半部分相同,相同则为回文链表。代码:/** * Definition for s...原创 2020-02-22 16:17:17 · 453 阅读 · 0 评论 -
【LeetCode】链表——移除链表元素
链接:https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/752/思路:遍历链表,如果节点的值等于 val,那么就将节点移除。这里新增加一个节点,是为了防止头结点和 val 相等时无法移除的情况。/** * Definition for singly-linked list. * stru...原创 2020-02-15 16:12:09 · 261 阅读 · 0 评论 -
【LeetCode】链表——反转链表
1、反转链表https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/750/代码:原创 2020-02-15 15:14:17 · 199 阅读 · 0 评论 -
【LeetCode】链表
链表与数组相似,链表也是一种 线性 数据结构。了解单链表和双链表的结构在单链表或双链表中实现遍历、插入和删除分析在单链表或双链表中的各种操作的复杂度在链表中使用双指针技巧(快指针慢指针技巧)解决一些经典问题,例如反转链表分析你设计的算法的复杂度积累设计和调试的经验单链表1、设计链表代码:class MyLinkedList {private: struct...原创 2020-02-15 15:15:23 · 106 阅读 · 0 评论 -
【LeetCode】链表——奇偶链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/753/思路:分别链接奇偶链表,注意在奇偶链表结束时要加空指针,最后将奇链表的尾链到偶链表的头就可以了。代码:/** * Definition for singly-linked list. * struct ListNode {...原创 2020-02-22 16:09:19 · 268 阅读 · 0 评论 -
【LeetCode】队列&栈
队列&栈队列:先入先出的数据结构1、设计循环队列class MyCircularQueue {private: vector<int> data; int head; int tail; int size;public: /** Initialize your data structure here. Set the siz...原创 2019-12-28 15:48:25 · 113 阅读 · 0 评论 -
【LeetCode】数组和字符串
决定从今天开始整理一下leetcode上面的刷过的题,把这些记录下来感觉更有收获,希望整理的过程中自己也能再梳理一下,思路更加清晰,能力更上一个台阶!数组和字符串...原创 2019-12-28 15:40:14 · 156 阅读 · 0 评论 -
C++ 清空队列(queue)的几种方法
说明:C++中的queue自身不支持clear操作,但双端队列deque是支持clear操作的。方法一:直接用空的队列对象赋值queue<int> q1;//process//……q1=queue<int>();方法二:遍历出队列while(!Q.empty()){ Q.pop();}方法三:使用swap实现使用swap定义clear,保持ST...原创 2019-12-23 12:44:35 · 4219 阅读 · 0 评论 -
使用递归方法实现数组排序(C++)
最近在学习C++,顺便复习一下C语言的知识,提高下自己的编程能力,很多东西不用就忘记了。这其实是一道很简单的题,自己比较菜,一些点想了蛮久,记录一下。题目:编写一组重载的排序函数,可以对两个整数、三个整数、四个整数、整数数组从大到小排序,函数名为sort,其中数组排序应使用递归的方法,另补充print函数,在一行显示排序后的数组元素。用递归的方法进行数组排序:题目要求从大到小,所以对一个长...原创 2019-04-09 20:35:11 · 2946 阅读 · 0 评论