数据结构之链表学习
文章平均质量分 65
小白从零开始记录自己做题
Eureka_22
这个作者很懒,什么都没留下…
展开
-
链表学习Leetcode刷题记录(10_8)
遍历每两个结点,先创造一个新头结点,即newHead,这个结点便是原链表的第二个结点,故把head->next的值赋给它,接着开始操作head后面的部分,用递归传入参数newHead->next,即原链表的第三位head->next->next,recursion完毕后把head的值给newHead->next,最终返回交换好后的链表。运用链表问题里经典的哑巴结点,temp把链表分为两个两个,while的判断条件里是判断两两分组后没有空指针和单独的结点,循环里将两两分组后的两个结点交换。原创 2024-10-08 20:13:03 · 191 阅读 · 0 评论 -
链表学习Leetcode刷题记录(9_30)(补)
先创建一个指针,指向最终链表的头指针,即头指针的前一位,对两个链表进行对比,哪个链表的元素小就放到tail后面,直到一个链表为空停止,把剩下的接上,最后返回head的next。面对多个长短不一的链表,加上力扣直接给的如下函数,上来我就懵了,我寻思上一题是合并两个链表,这上来直接让我合并n个有点吓人,还有个没听过的vector,于是果断点开"题解"这声明了一个空的 std::vector,它存储的是 ListNode* 类型(即链表节点指针)的元素。请你将所有链表合并到一个升序链表中,返回合并后的链表。原创 2024-10-08 19:35:42 · 397 阅读 · 0 评论 -
链表学习Leetcode刷题记录(9_24)
关键在于递归,通过比较l1和l2结点的大小,将函数递归,赋值给连接的next从而避免了麻烦的for循环,函数自己直接进行了大小的排序和合并。前面两句还好,如果1空,那么返回2,如果2空,那么返回1;题目内容:将两个升序链表合并为一个升序链表并返回。原创 2024-09-24 23:10:36 · 298 阅读 · 0 评论 -
链表学习Leetcode刷题记录(9_21)
题目内容:删除链表的倒数第N个节点。原创 2024-09-21 17:34:46 · 220 阅读 · 0 评论