![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Isabelle_Yan
这个作者很懒,什么都没留下…
展开
-
力扣20. 有效的括号
20. 有效的括号20. 有效的括号思路遇到相应的括号匹配就出栈代码class Solution {public: bool isValid(string s) { stack<char> s2; for(int i = 0;i<s.length();i++){ if(s[i] == '('||s[i] =='{'||s[i] =='[' ){ s2.push(s[i]);原创 2022-05-27 18:30:34 · 53 阅读 · 0 评论 -
155. 最小栈
力扣155. 最小栈思路一开始没看懂题目,后来看了题解顺着题解思路把代码敲出来了。代码class MinStack {public: stack<int> data; stack<int> min; MinStack() { min.push(INT_MAX); } void push(int val) { data.push(val); if(val<min.原创 2022-05-27 18:28:19 · 43 阅读 · 0 评论 -
力扣138. 复制带随机指针的链表
138. 复制带随机指针的链表链接思路首先把链表建立起来,再把每个节点random的下标存到一个数组里,最后按照下标设置每个节点random指针。代码/*// Definition for a Node.class Node {public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; rand原创 2022-05-25 22:23:38 · 72 阅读 · 0 评论 -
力扣92. 反转链表 II
力扣 92. 反转链表 II链接思路把需要转置的部分放到数组里,转置之后再放回原链表代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * Lis原创 2022-05-25 19:00:14 · 253 阅读 · 0 评论 -
力扣86. 分隔链表
86. 分隔链表链接思路首先遍历链表,将小节点下标存入一个数组,大节点和x的下标存入另一个数组,然后大节点下标数组拼到小节点下标数组后面组成一个新的下标数组,使得原数组按下标数组重新排列。代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * L原创 2022-05-25 08:51:19 · 125 阅读 · 0 评论 -
力扣21. 合并两个有序链表
力扣21. 合并两个有序链表链接思路先把两个list串起来成一个list,再将引入一个数组排序,排完序之后把原list赋值为数组的顺序代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), ne原创 2022-05-24 18:58:20 · 61 阅读 · 0 评论 -
力扣160.相交链表
160. 相交链表参照代码随想录思路,先把两个链表右对齐,再向后遍历,遇到相同的元素就返回/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *getInter原创 2022-05-24 15:16:53 · 103 阅读 · 0 评论 -
队列的相关内容
队列数据结构typedef struct{ ElemType data[MAXSIZE]; int front; int rear;}SqQueue;队列的初始化//构造一个空队列Q void initQueue(SqQueue* Q){ Q->front = 0; Q->rear = 0;}入队bool enterQueue(SqQueue* Q, ...原创 2020-02-24 22:35:50 · 95 阅读 · 0 评论