![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
Wade_Gao
这个作者很懒,什么都没留下…
展开
-
单链表完整操作集(完整源代码)
为了解决一个单片机项目的需求,解决频繁地跳转到某地址执行指令的问题,需要使用并维护一个序列 刚开始实在想不出办法,查了很多资料,也都用不上,后来知道链表结构的存在才解决了这个问题,花了一天半的时间从无到有接触单链表,记录一下基本操作集合,其中大部分都可以用来解决我单片机项目的问题 操作集 class LNode { public: int data; LNode *next; pu...原创 2020-02-08 01:29:29 · 917 阅读 · 0 评论 -
LeetCode-25:K 个一组翻转链表
一、题目描述 二、解题思路 这道题,最简单的方法就是从头节点开始,每次查看当前剩下的节点是不是多于K个,如果是的话就进行反转,否则就不进行并返回。 这样当然可以,但是有性能瓶颈:每次都需要查看剩余元素个数,相当于遍历了两次链表才可以完成反转,还不考虑反转的操作占用时间。 我想出来的办法是每次都进行反转,不考虑最后的不足K个的那段不需要反转的问题。那么就势必要解决最后这一点零头的问题。 通过前后指针,记录下当前被反转段的头节点和尾节点,反正都是要用循环的,顺手就可以判断是不是少于K个。如果少原创 2020-05-16 01:29:39 · 175 阅读 · 0 评论 -
LeetCode-173: 二叉搜索树迭代器
First. Problem’s Description Second. Problem’s Solution BST has a non-decreasing inorder-traversing series. We can use a list to store the nodes and where we call next(), we delete the beginning node in the list. Three. Code For Solution class BSTIterator原创 2020-05-12 22:16:33 · 156 阅读 · 0 评论 -
PTA数据结构与算法题目集(中文)6-2:顺序表操作集
一、题目描述 #include <stdio.h> #include <stdlib.h> #define MAXSIZE 5 #define ERROR -1 typedef enum {false, true} bool; typedef int ElementType; typedef int Position; typedef struct LNode *Lis...原创 2020-05-07 19:32:47 · 312 阅读 · 0 评论 -
华为2016研发工程师[编程题]删数
一、题目描述 二、解题思路 这道题有点像约瑟夫环,但是又不是,因为在一轮删除(指删除数据的范围刚好大于N)中,删除的数的位置是确定的,而不依赖于该轮中先删除的数的位置。这一点相比于约瑟夫环问题有所不同 但是此题又可以使用约瑟夫环问题的思想来求解,我们可以构建链表存放数据 #include <iostream> using namespace std; class LNode { pu...原创 2020-04-14 22:11:53 · 129 阅读 · 0 评论 -
LeetCode-23:合并K个排序链表
一、题目描述 二、解题思路 我们可以采用遍历vectorvectorvector元素的方法,对其进行插入排序,但是这样控制成本比较高 因此想到用小根堆的方法,,遍历vectorvectorvector元素的同时将元素插入到小根堆里,进行堆排序 每次元素从小根堆弹出时,即为当前最小值,进行插入到链表尾的操作即可 三、完整代码 class Solution { public: ListN...原创 2020-04-03 12:58:33 · 79 阅读 · 0 评论