数据结构
Daniel-Wang
这个作者很懒,什么都没留下…
展开
-
题解 | #链表中倒数最后k个结点#
题目描述输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为0的链表。解决思路1.栈思路简单清晰,空间复杂度高些代码/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : val(x), next(nullptr) {} * }; */class Solution {public:原创 2022-03-24 16:09:17 · 857 阅读 · 0 评论 -
链表中环的入口结点
题目描述给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。输入分为2段,第一段是入环前的链表部分,第二段是链表环的部分,后台会根据第二段是否为空将这两段组装成一个无环或者有环单链表。解题思路1.哈希解法简而言之就是遍历结点,找重复地址。如果遍历完毕无重复就返回空。简单粗暴。代码class Solution {public: ListNode* EntryNodeOfLoop(ListNode* pHead) {原创 2022-03-24 11:58:50 · 105 阅读 · 1 评论 -
链表反转(迭代&递归)
迭代方式class Solution {public: ListNode* ReverseList(ListNode* pHead) { ListNode *pre = nullptr; ListNode *cur = pHead; ListNode *nex = nullptr; while (cur) { nex = cur->next; cur->原创 2022-03-21 20:51:00 · 1083 阅读 · 0 评论 -
题解 | #滑动窗口的最大值#
题目描述给定一个长度为 n 的数组 nums 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2原创 2022-03-21 15:16:22 · 230 阅读 · 0 评论 -
题解 | #栈的压入、弹出序列#
题解 | #栈的压入、弹出序列#原创 2022-03-21 00:08:52 · 70 阅读 · 0 评论