![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leedcode
文章平均质量分 59
obsorb_knowledge
心有不甘,呼唤着我
展开
-
5. 最长回文子串 区间dp和拉马车算法
区间dp原创 2021-12-31 10:33:47 · 455 阅读 · 0 评论 -
406. 根据身高重建队列(贪心+简洁代码的线段树优化)
题目描述:假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。示例 1:输入:people = [[7,0.原创 2021-02-22 20:22:14 · 571 阅读 · 0 评论 -
leetcode206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?思路1:先对原链表进行头删除,新建临时头结点,然后把删除的头结点对新链表进行头插入(破坏原链表结构))思路2:所以结点新建,不破坏原先链表结构。代码:/** * Definition for singly-linked list. *.原创 2020-10-16 11:38:02 · 90 阅读 · 0 评论 -
C++ 合并两个有序链表
其实合并两个有序链表:最主要的就是内存分配,这是使用的是堆内存,自己控制开辟和释放遍历式:代码:struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode *head =原创 2020-06-19 10:52:03 · 556 阅读 · 0 评论 -
leedcode 2. 两数相加 - 链表式 大数相加
题目描述给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807主要考察点:链表(指针),大数相加代码1:...原创 2020-06-04 14:17:41 · 186 阅读 · 0 评论