随笔分类 - 剑指offer
算法学习
摘要:题目链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/ 指针 遍历链表,把链表的每个节点依次逆置; 当头结点不为空时: 1. 备份头结点的下一个节点 2. 头结点的下一个节点更新为新的头结点 3. 新的头结点更新为头结点 4.
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/ 遍历 当两个链表都不为空时,遍历两个链表,依次比较两个节点的值,将较小的节点的插入到新链表后面; 最后检查一下哪个链表还没有遍历完,直接将
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/ 双指针 /** * Definition for singly-linked list. * struct Li
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 单调队列 额外维护一个单调队列(双端队列): 1. max_value: max_q为空返回-1,不空返回对头元素 2. push_back: value入队,判断va
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof/ 单调队列 时间复杂度:O(n) 空间复杂度:O(k):双端队列中最多同时存储k个元素,即窗口大小 class Solution { public
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/zhan-de-ya-ru-dan-chu-xu-lie-lcof/ 栈 两种操作:(二者只能有一个执行) 1)将下一个数加入栈中; 2)将当前栈顶元素弹出; 判断当前栈顶元素与下一个要输出的数是否一样: 一样,将栈顶元素弹
阅读全文
摘要:题目链接:https://leetcode cn.com/problems/bao han minhan shu de zhan lcof/ 栈 维护两个栈:栈st存储所有元素,minSt是一个单调栈,栈顶元素为min 1. 入栈:st.push(x); 若minSt.top = x或minSt为空
阅读全文
摘要:题目链接:https://leetcode cn.com/problems/yong liang ge zhan shi xian dui lie lcof/ 栈 两个栈,st栈,cache缓存栈; 1. 入队:直接压入st中; 2. 出队: 1)若cache为空:依次将st中的元素弹出并压入cac
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 遍历 时间复杂度:O(N) 空间复杂度: O(1) class Solution { public: ListNode* getKt
阅读全文